[[20041101145805]] 『マクロ実行範囲ついて』(TAKA) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロ実行範囲ついて』(TAKA)

マクロの実行範囲を任意で選択して行いたいのですが?

例1)A1〜D15までをグラフにする。
例2)A1〜G15までをグラフにする。
この作業を一つのマクロで実行できますか?

例1)の場合A1〜D15を選択→マクロ実行→グラフ

例2)の場合A1〜G15を選択→マクロ実行→グラフ

なお、グラフのマクロは自分で作成してみます。

 Excel2000 Windows98SE


 範囲指定したところから、マクロの記録でグラフを作成してはどうでしょうか。
 (川野鮎太郎)


毎月セル数が増えるもので、その度にマクロを修正しなければいけませんよね?(TAKA)


 少し間違ってました。
 範囲は自分で選択して、その選択した部分をグラフの範囲にすればいいんですから、
 マクロの最初に
 MyRn = Selection.Address などと定義して、

 実際にグラフを作成するコードの中に範囲のMyRnを代入すればどうでしょう。

 ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range(MyRn) などです。
 (川野鮎太郎)


すみません。マクロ初心者なものでどこを変えれば良いのか分かりません。
ご指導お願いします。(TAKA) 
上記の例1)例2)とは違う範囲ですが

Range("C7:I15").Select

    Charts.Add
    ActiveChart.ChartType = xlLineMarkers
    ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("C7:I15"), PlotBy _
        :=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
    ActiveChart.PlotBy = xlRows
    With ActiveChart
        .DisplayBlanksAs = xlInterpolated
        .PlotVisibleOnly = True
        .SizeWithWindow = True
    End With
    Application.ShowChartTipNames = True
    Application.ShowChartTipValues = True
End Sub


 ご提示のままを使います。
 Sub Test()
 MyRn = Selection.Address
    Charts.Add
    ActiveChart.ChartType = xlLineMarkers          '↓
    ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range(MyRn), PlotBy _
        :=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
    ActiveChart.PlotBy = xlRows
    With ActiveChart
        .DisplayBlanksAs = xlInterpolated
        .PlotVisibleOnly = True
        .SizeWithWindow = True
    End With
    Application.ShowChartTipNames = True
    Application.ShowChartTipValues = True
 End Sub

 (川野鮎太郎)


ありがとうございました。これで楽にグラフ作成が行えます。
またひとつ質問ですが?
アクティブなセルのマクロ実行はどうしたらいいのでしょうか?
(TAKA)


 アクティブなセルのマクロ・・・とはどのようなことでしょうか。
 (川野鮎太郎)


ブックにシートが複数ありまして。
(TAKA)


 う〜ん(/-_-\) ブックにシートが複数あるから、どうしたいのかが判らないと(^_^A;
 (川野鮎太郎)

複数のシートがありまして、このマクロを使用して別のシートのグラフも作成したいのですが?
その場合、sheet1となってる部分をどのように変更すれば可能になるものなのでしょうか?
そんな安易な考えでできるものかお聞きしたいのです。(T_T)(TAKA)


 今回のマクロはあらかじめ範囲を選択してからグラフを書くようになってるので、
 単純にシート名を変えただけでは上手く書けないと思います。
 各シートを開きながら範囲を選択してマクロを実行するだけなら、シート名の部分
 Sheets("Sheet1")とName:="Sheet1"を変えるだけですが。

 例)コードの最初に MySh = ActiveSheet.Name を入れて、
 Sheets("Sheet1") を Sheets(MySh) 
 Name:="Sheet1"  を Name:=MySh  に変えれば良いかな。
 (川野鮎太郎)

何とかできるようになりました。ありがとうございました。(TAKA)

任意の範囲(固定)だけにマクロを実行するにはどうすればいいですか?
例えば、C列だけマクロを適用したいのです。
C列でダブルクリックをすれば○になるということ。
その他の場所でダブルクリックしても何も起こらないということです。

Target.Value = "○"

 Range("c1:"c80").Select
では無理でした。(meg)

  ↑
  これ、現在の質問ですか? でしたら、内容も違うので新規質問にした方がいいですよ。

 (半平太) 2011/05/08 22:25

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.