• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excelVBA:グラフのデータ範囲)

ExcelVBAでグラフのデータ範囲を設定する方法

このQ&Aのポイント
  • ExcelVBAを使用してグラフのデータ範囲を設定する方法について説明します。
  • 特定の列をグラフのデータ範囲から除外するExcelVBAコードの修正方法について教えてください。
  • 選択範囲から特定の列を除外してグラフを作成する方法について解説します。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

データ実例をもっと判りやすく書くこと。 質問の例は判りにくく、実際に試行に使えないじゃ無いか。 模擬例 Sheet1 C3:E11 B列   C列  D列  E列 a 1 12 23 b 3 34 34 c 12 53 52 d 4 24 61 e 5 13 24 f 6 34 52 g 7 54 14 h 9 41 27 (こういう書き方で判りやすいだろう) これで質問のコードを Sub test01() 'excelVBA: グラフのデータ範囲 ActiveSheet.Columns(3).Visible = False With ActiveSheet.ChartObjects.Add(300, 300, 480, 300) .Chart.SetSourceData Range(Range(Cells(3, 2), Cells(11, 2)), Range(Cells(3, 4), Cells(11, 5))), xlColumns .Chart.ChartType = xlBarStacked100 '100%横棒グラフ End With End Sub とするとB,C,D、E列のグラフになる。 ーーー そのコードの最初に Columns("C:C").EntireColumn.Hidden = True を入れて実行すると B,D、Eのグラフになるだろう。 非表示の見えないデータはグラフから除かれる原則。 このやり方は質問者の意図と違うかもしれないが、1つのやり方ではあろう。

stripe
質問者

お礼

お返事がおそくなり申し訳ありませんでした。 どうもありがとうございました!

その他の回答 (1)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

離れた列範囲を選択して自動記録すると、文字列で与える方法が記録されると思いますが、 Rangeで与えたいなら、下記の様にすると簡便だと存じます。(データ範囲はご質問にはそっておらず適当です) ご参考まで。 Sub test() Dim targetRange As Range Set targetRange = Union(Range(Cells(4, 2), Cells(11, 2)), Range(Cells(4, 4), Cells(11, 4)), Range(Cells(4, 6), Cells(11, 6))) ActiveSheet.Shapes.AddChart.Select ActiveChart.ChartType = xlColumnStacked100 ActiveChart.SetSourceData Source:=targetRange End Sub

関連するQ&A