• ベストアンサー

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

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

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

  • ベストアンサー
  • 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

  • エクセルからワードのマクロを実行したい

    1. ワードで作られた報告書の表の数値をエクセルにコピーし、 2. その数値を使ってエクセルのオートシェイプでグラフを描き、 3. グラフをもう一度ワードの所定の位置に図として貼りつける、 というマクロを作成しています。ワードの表をコピーするマクロと、エクセルでグラフを描くマクロは作成できました。 問題はエクセルのシートに配置したコマンドボタンをクリックすると、グラフの入ったセル範囲をコピーするまではできたのですが、その後にワードのマクロを指定して実行させる方法がわかりません。 1.→2.のエクセルのマクロを実行する方はauto_openで何とかなったのですが、2.→3.は既にワード文書は開かれていますし、auto_openでは1.の手順ができなくなってしまうので困っています。 もし、エクセルのマクロでワードを操作などできるのでしたらそれでもよいのですが…。 ワードのマクロは初挑戦で、色々サイトも探したのですが見つかりませんでした…。 使用していますのは、Windows98SE,Excel97,Word97です。 ご存知の方、どうぞよろしくお願い致します。

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

    エクセルのマクロで、条件に合わせて、グラフを作る範囲を決めることは可能ですか? たとえば、X=1、2、3、4、5 Y=1、23、34、56、4の場合、Yが10より上の時の範囲だけグラフを作るみたいなことは可能ですか? マクロは初心者なので、できれば分かりやすいサイトなども教えていただけるとありがたいです。

  • エクセルのマクロ

    こんにちは。 今悩んでいます。 VB6.0で、電圧計、電流計を制御して、VBからエクセルを起動、その値をVBでエクセルにデータを送り、グラフを作るのですが。 グラフを作る作業が、同じ作業なので、エクセルのマクロを使い、グラフを作成しようとしていたのですが・・・。 どのエクセルのファイルからでもできるように、個人用のマクロブックで、グラフを作成したのですが、VBからエクセルを起動し、データの転送して、グラフをマクロで作成しようと思ったら、マクロがないんです。 しかし、デスクトップにあるエクセルのショートカットから起動してみると、マクロがあるのです。 VBから起動したエクセルでは、マクロは使えないんでしょうか? 詳しい方よろしくお願いします。

  • excelのマクロ操作

    excelで以下の操作をマクロを用いて繰り返し行いたいのですがどのようになプログラムにしたらいいでしょうか? テキストファイルをexcelで読み込む            ↓         グラフの作成            ↓           excelの保存

  • エクセルのマクロでグラフを作る方法

     エクセルのマクロでプログラムを組んでグラフを作るときXの値の範囲とYの値の範囲をそれぞれ指定する形でマクロをつくりたいのですがなかなかうまく行きません。  また、大量のグラフを一気に作りたいのでcells()を使って作りたいのですが、どなたかご存知でしたら教えてください。

  • エクセルでグラフをマクロ化することはできますか?

    エクセルで、ごく簡単な表をグラフ化するのですが、マクロ化することはできますか? 例をあげます。 A1、B1、C1、D1、E1にそれぞれ数値(整数)が入っています。セルがたった5つだけの簡単な表です。これと同じ形式の表が10あります。これを円グラフに表し、割合として表示します。一つの表をグラフウィザードで円グラフにするのは、いたって簡単です。しかし、5つあるデータエリアの色をすべて変え、引込み線をつけない、凡例のフォントの大きさ、種類を変えるなど、設定をいろいろ変えました。この操作を10ある表すべてに繰り返しやりたくないのですが、マクロでできますか?あるいは、ほかによい方法がありますか?

  • EXCELのマクロ グラフについて

    こんばんは、 グラフ作成のマクロをつくっています。 グラフ作成対象の範囲が不定なので、 範囲は、AA;KKという範囲にしました。 実はその表の、下部に合計欄がありました。 合計値項目があっても、グラフ化する方法があるかどうか?と、記録マクロの途中で ActiveChart.SetSourceData Source:=Sheets("Sheet3").Range("C7:D10"), PlotBy _:=xlColumns がありましたが、この分をコメントにしました。何か影響はありますか?

  • エクセルマクロ グラフの操作について

    株価グラフをエクセルで書いています。 しかし、価格が大きく動くとグラフからはみ出してしまいます。 1.そこで、マクロで、価格変動に合わせて縦軸(価格)の数値の範囲(グラフの最大値は常に表示している値の最大値+500円、最小値は-500円としたいです)を変更出来ないでしょうか? 2.マクロで、元データそのものを変更(切り替え)することは出来ないでしょうか? 3.グラフの数値軸はひとつしか設定できないのでしょうか? たとえば、縦軸左側に金額、右側に%といった設定で、二つのグラフをひとつに重ね合わすのは無理でしょうか? 以上3点のマクロの構文が知りたくて質問しました。 設定は、シート”データ”のA列に日付、BCDE列に元データ、同GHIJ列に切り替えて表示したいデータ、シート”グラフ”にグラフを置いています。 私の所持する本を読んでも載っていないし、ネットでも探してみたのですが、コレといったものを見つけることができませんでした。 複数たずねて申し訳ないですが、関連する項目なので、あえてたずねてみることにしました。 うち、ひとつだけでも結構ですので、どなたか教えてください。 なお、エクセル2003、OS=XPです。

  • EXCELのマクロのセキュリティ

    対象のエクセルのバージョンは2010になります。 自作のマクロを有効にしたい場合、マクロのセキュリティの設定は すべてのマクロを有効にするしかないのでしょうか。 コード別の設定が可能だと助かるのですが、 エクセルのヘルプを見たところでは見当たりませんでした。

  • エクセルのマクロでPPTにグラフを作成する

    VBAにあまり詳しくないので教えてください。使用環境は、エクセル、PPTともに2010です。 エクセルでマクロを組んで、エクセルに複数あるデータテーブルをもとに、PPT上で順にグラフを作成しようと思っています。(エクセルでグラフを作成するのではありません) PPTでグラフを挿入して、エクセルのデータをPPT内のグラフ用エクセルに貼り付けるところまではすべてマクロでくめているのですが、 どうしても貼り付けたデータがグラフに反映されず、グラフの見た目はデフォルトのままです。(データはちゃんと貼り付いているのに…) ステップインで進めると更新されるのですが、流すとうまく更新されません。 時間の問題かと思い、数秒待ってから次のステップに行くように組んでも、やはり更新されません。 一度作成した後、もう一度そのグラフのデータエクセルを開くと、データに変更はないのに、なぜかグラフが更新されます。 どなたかお知恵をお貸しください。よろしくお願いいたします。 ---以下、プロフラムの流れ--- 1)データの元となるエクセルの、A列の色つきセルでグラフの形を決める  ↓ 2)開いているPPTにスライドを追加する  ↓ 3)1で判別したグラフの形を挿入する。この時自動的にPPT内のグラフのデータエクセルが開く。  ↓ 4)1の色つきセルに続くデータテーブルをコピーする  ↓ 5)3のPPT内のグラフ内のデータエクセルに貼り付け、データ範囲をリサイズする  ↓ 6)5のファイルを閉じる。  ※本当はここでグラフも更新されるはず!!  ↓ 7)クリップボードを空にする  ↓ 8)1に戻って次のデータテーブルに移る。

専門家に質問してみよう