• ベストアンサー

エクセルのマクロについて

エクセルでグラフを作っています 同じ操作の繰り返しなのですが、グラフの対象範囲だけが変わります。 マクロを一度止めて対象範囲の再設定の後、マクロを再開する、 というマクロを組むことは出来るのでしょうか? どうぞよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom11
  • ベストアンサー率53% (134/251)
回答No.3

新しいマクロの作成で、以下のマクロを作って ******で囲まれた所のシート範囲や、セルの範囲を変えれば 良いような気がしますが。 Sub Macro1() Range("A3:B6").Select Charts.Add ActiveChart.ChartType = xlXYScatterSmooth '***************************************************************************** ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A3:B6"), PlotBy:= _ xlColumns '**************************************************************************** ActiveChart.Location Where:=xlLocationAsNewSheet With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = "y" .Axes(xlCategory, xlPrimary).HasTitle = False .Axes(xlValue, xlPrimary).HasTitle = False End With End Sub

yumi2007
質問者

お礼

ご丁寧にありがとうございました。

その他の回答 (3)

  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.4

>マクロを一度止めて対象範囲の再設定の後、マクロを再開する、 マクロをとめる必要も無く、 Application.InputBox()で対象範囲を毎回設定する処理を加えるだけでいいと思いますが。 Application.InputBox()の使用例 Dim a As Excel.Range Set a = Application.InputBox("aaa", Type:=8) a.Interior.ColorIndex = 3

yumi2007
質問者

お礼

ご丁寧にありがとうございました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

>マクロを一度止めて対象範囲の再設定の後、マクロを再開する、 Esc あるいは Ctrl+Breakキーで処理を強制的に終了させると 繰り返しが何回までだったのか情報が残らないです。 エラー処理の機能をコードの中に記述して 強制終了の場合に 何回目であったか セルにでも書き留める方法になるかと思います。 参考までに 新しいブックで Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub ボタン1_Click() Const ErUserInterrupt = 18 Application.EnableCancelKey = xlErrorHandler On Error GoTo ErrHandle For i = Range("A1").Value To 100 'ここに実際の処理のコードを入れる 'Sleep to 最初の行のDeclare Sub Sleep は実際には不要です。 Sleep 100 Next Application.EnableCancelKey = xlInterrupt Range("A1").Value = 1 Range("B1").Value = "全ての処理を終了しました。" Exit Sub ErrHandle: Select Case Err.Number Case ErUserInterrupt Range("A1").Value = i Range("B1").Value = "回目にユーザーの指示により、マクロを停止させました。" Case Else End Select Exit Sub End Sub をコピーして作動を確認してみてください。

yumi2007
質問者

お礼

ご丁寧にありがとうございました。

  • trajaa
  • ベストアンサー率22% (2662/11921)
回答No.1

事前に選択している「対象範囲」を対象にグラフ化するマクロにすれば良いだけと思える。 ^^^^^^^^^

yumi2007
質問者

お礼

ありがとうございました。

関連するQ&A

専門家に質問してみよう