• ベストアンサー

EXCEL VBA でグラフシートをアクティブにするコード

シートは Worksheet.("例1").Activeで選択することができますが、 グラフは worksheetのところに何を代替すればよいのでしょうか?

  • dadao
  • お礼率79% (85/107)

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01です。訂正です Sheets.("例1").Activate または Charts("例1").Activate で良いと思います

dadao
質問者

お礼

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

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

Sheet.("例1").Active または Charts("例1").Activate で良いと思います

関連するQ&A

  • VBAで各シートの表でグラフを作成したいのですが

    シートごとにレイアウトが同じ表がありまして、 VBAで各シートの表でグラフを作成したいのですが、 どうしても作成した時のシートのデータで出来てしまいます。 egシート1で表作成>シート2でVBA実行してもシート1でつくったグラフが複製されるだけ、、 どうすれば、選択中のシートのデータで表ができるのでしょうか?? 一度グラフをコピーした上でデータを変える方法も試したのですが、 Sub Macro7() ActiveSheet.ChartObjects("グラフ 1").Activate ActiveSheet.ChartObjects("グラフ 1").Activate ActiveChart.SeriesCollection(1).Name = "=Sheet2!$B$29" ActiveChart.SeriesCollection(1).Values = "=Sheet2!$B$31:$B$128" 結局シート2でしか出来ず、、です 「Sheet2!~」のところがいけないのはわかるのですが、、 この方法以外でもどんな方法でもよいのでどなたかお力かしてください。

  • エクセルでグラフ

    シート1に、適当にデータを入れ、それを選択して シート2に、グラフを表示させるのですが、 シート1のデータに追加が出て、新しくAセルの下、データを入れた。 だけど、シート2のグラフには、反映されないです。 シート1に入れたデータが、すぐにシート2のグラフに反映される方法 を教えてください。

  • Excelで、VBAを用いてのグラフ作成。1日ごとの範囲でグラフシート

    Excelで、VBAを用いてのグラフ作成。1日ごとの範囲でグラフシートを作成。それぞれのグラフのX軸の範囲を、グラフタイトル名とグラフシート名に設定したい。(使用環境 : Excel 2004 Mac 日本語版) Excel VBAに関して質問します。グラフの元になる「表1」シートには、次のように1分間隔でデータが入力されています。 #######ここから####### 日時 系列A 系列B 2010/3/1 12:00 0 5 2010/3/1 12:01 1 2 2010/3/1 12:02 1 5 2010/3/1 12:03 5 5 (中略) 2010/3/31 11:57 2 1 2010/3/31 11:58 5 1 2010/3/31 11:59 3 1 2010/3/31 12:00 5 100 #######ここまで####### この表を、2010年3月1日から2010年3月31日までの、1日ごとのグラフにしようと思います。 私は初め、「日時」セルから、最後の「100」セルまでを選択し、グラフウィザードからグラフシートを作成しました。このグラフシートを、すべてのグラフシートの大本になるグラフシートとして、「おおもと」と名付けました。 そうして次のVBAプログラムを書きました。 #######ここから####### Option Explicit Sub Macro1() ' ' Macro1 Macro '3月1日分 Sheets("おおもと").Select Sheets("おおもと").Copy Before:=Sheets(1) ActiveChart.Axes(xlCategory).Select With ActiveChart.Axes(xlCategory) .MinimumScale = #2010/3/1 12:00# .MaximumScale = #2010/3/2 12:00# .MinorUnit = 0.0416666667 .MajorUnit = 0.125 End With ActiveChart.Deselect '3月2日分 Sheets("おおもと").Select Sheets("おおもと").Copy Before:=Sheets(1) ActiveChart.Axes(xlCategory).Select With ActiveChart.Axes(xlCategory) .MinimumScale = #2010/3/2 12:00# .MaximumScale = #2010/3/3 12:00# .MinorUnit = 0.0416666667 .MajorUnit = 0.125 End With ActiveChart.Deselect (中略) '3月30日分 Sheets("おおもと").Select Sheets("おおもと").Copy Before:=Sheets(1) ActiveChart.Axes(xlCategory).Select With ActiveChart.Axes(xlCategory) .MinimumScale = #2010/3/30 12:00# .MaximumScale = #2010/3/31 12:00# .MinorUnit = 0.0416666667 .MajorUnit = 0.125 End With ActiveChart.Deselect End Sub #######ここまで####### 上記のVBAプログラムを実行し、一応グラフは描けたのですが、作成したそれぞれのグラフシートのシート名とグラフタイトル名が、それぞれのグラフの日時の範囲を反映したものとなっておらず、一見してどの日時範囲をグラフ化したものか読み取れず、難儀しています。 そこで、3月1日分から3月30日分までのグラフシートとグラフタイトル名を、それぞれの日付の範囲に即した物(たとえば3月1日分のグラフシートは、グラフシート名が「3月1日」、グラフタイトル名が「3月1日」)になる、VBAの書き方を教えて貰えないでしょうか。 長々とした質問ですが、どうぞ、よろしくお願いします。

  • ExcelのVBAでのグラフ操作について

    Excel2003からExcel2010にアップグレードしたのですが、グラフ操作について質問があります。 Excelのブックにグラフシートがあり、それをVBAで操作した後、2003では ActiveChart.Deselect で選択を解除できたのですが、2010には同じ構文が使用できません。 同様の操作を2010で行うためにはどうすればよいのでしょうか?

  • スライド内のエクセルグラフやシートをエクセルに戻したい

    こんにちは、例えば人から貰ったパワーポイントのスライドに張り付いている グラフやシート(当然、自分のパソコンには元データが無いです)をエクセルに移して編集したいのですが 複数シートを全選択してまとめて楽にエクセルに移せないでしょうか? WindowsXPproのOFFICE2003環境で試しているのですが どうもうまくいかず、 シート1枚を開いて全コピーなら、新規エクセルの開いておいたシートに貼りつきます。 しかし、8枚くらいシートがあると、シートを新規追加したり貼り付けたりを繰り返すのも手間で スライド内に複数エクセルデータがあるのを考えると いったい難解同じ作業をするのだろう。。。 という感じで真っ暗です。 パワーポイントに張り付いているエクセルグラフやデータシートを一括でコピー、移動する良い方法は無いでしょうか?

  • エクセルVBAでシートの種類を取得したい

    エクセル2000です。 BOOK内の全シートに、ある処理をしようと思いますが、シートの種類によって分岐させたいのです。そのためにはシートが Worksheetか、古いですがDialogsheetか、あるいはグラフなのかを判別しなければなりません。 ためしに、 Sub test01() For Each st In Sheets st.Activate MsgBox st.Type Next End Sub としてみましたが取得できませんでした。 シートの種類を取得するにはどのような記述になるのでしょうか?

  • EXCELで別々のシートにある表を1つのグラフにしたい

    EXCELで、のシートA、シートBにそれぞれ表があります。 その2つの表を用いて1つのグラフを作成したいのですが、2つの表を同じシートに持ってこなければ、グラフを作成することはできないのでしょうか? よろしくお願いします。

  • 非アクティブシートでのグラフ作成方法について

    VBAを使ってアクティブなっていないシートのセルを参照したグラフを 作成したいと思っているのですが、可能でしょうか? また、軸の最少最大値などのグラフの設定を同様に変更することは可能でしょうか? 例 シート1がアクティブになっているときに、 シート2のA1~B5のデータでグラフを作成する。 この時、シート2をアクティブにせずにグラフを作成したい。 さらにシート2をアクティブにせずにグラフの書式等を設定したい。 アクティブになっているシートでグラフを作成するのは マクロで記録した物をいじくれば問題なく作れると思いますが、 グラフを複数のシートで作成する必要があり、 画面が一々切り替わるのはちょっと・・・と思い、 できればボタンを押して別のシートに移らずにグラフを作成したいのです。

  • エクセルVBAで埋め込みグラフ(ChartObjects)のアクティブ

    エクセルVBAで埋め込みグラフ(ChartObjects)のアクティブ化のエラー(1004)解消方法について。 予めWorkbook1のシートに6つの埋め込みグラフを用意してあります。 Workbook2のシート1に数値データがあり、シート2に先のWorkbook1のシートを コピペして、数値の参照先をWorkbook2のシート1に変更して利用したいと考えております。 以下の処理を用いて、グラフ内の文字サイズが変わってしまうので、文字サイズを再設定しなおそうと、 埋め込みグラフを1つずつ選択し、文字サイズ設定を行おうとしているのですが、 chart 3を選択したところで、chartobjectクラスのactivateメソッドが失敗 (エラー 1004) が出てしまいます。 ちなみに、Workbook1のシート上で、以下の処理を行ってもエラーは出ません。 Workbook2にコピペしたものに対して、chart 1、chart 2の処理が済み、 chart 3になった所でエラーが発生します。 解決方法のご教授をよろしくお願い致します。 grp_cnt = ActiveSheet.ChartObjects.Count For j = 1 To grp_cnt Workbooks(2).Worksheets(2).Activate 'シート上のチャート中より、指定した名前のチャートを探す。 Set obj = ThisWorkbook.ActiveSheet.ChartObjects(j) crt_name = ThisWorkbook.ActiveSheet.ChartObjects(j).Name '変更したいチャートをアクティブにする。 ActiveSheet.ChartObjects(crt_name).Activate ActiveChart.ChartArea.Select Selection.AutoScaleFont = True With Selection.Font .Size = 10 End With Next j

  • Excel VBAで、アクティブシート内の全てのグラフを削除したい。

    VBA初心者です。 アクティブシート内の全てのグラフを削除するには、どのように記述すればよいのでしょうか?よろしくお願いします。

専門家に質問してみよう