• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAのRangeについて)

VBAのRangeについて

このQ&Aのポイント
  • VBAのRangeを使用して、表の特定の列を選択してグラフを作成する方法が分かりません。
  • 具体的には、A列とB列、A列とC列、A列とD列など、異なる列の組み合わせでグラフを作成する方法を知りたいです。
  • 現在試している方法では、A列からC列まで全て選択されてしまい、特定の列だけを選択することができません。

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

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

質問のように飛び飛びの範囲参照は基本的には回答1にも提示されてるように    Range("A1:A4,C1:C4")  Range("セルアドレスの文字列,セルアドレスの文字列") となります。 で、セルのアドレス文字列を所得して それらを、"," と&で結合してやればいいわけです。 セルアドレスの文字列は、Addressプロパティで取得できます。 -------------------------------------------------------- Range(Range(Cells(1, 1), Cells(4, 1)).Address & "," & Range(Cells(1, 3), Cells(4, 3)).Address).Select これでは一行が長くて見にくいのでそれぞれを変数にいれて -------------------------------------------------------- Dim Adrs1,Adrs2 Adrs1=Range(Cells(1, 1), Cells(4, 1)).Address Adrs2=Range(Cells(1, 3), Cells(4, 3)).Address Range(Range(Adrs1 & "," & Adrs2).Select -------------------------------------------------------- それから、Addressの引数によって結果が下記のように変りますので 必要に応じて使い分けること。 Range("A1:A4").Address ---> $A$1:$A$4 (絶対参照) Range("A1:A4").Address(0,0) -> A1:A4 (相対参照) 尚、この回答はグラフとは関係なくセル範囲参照の方法のみの回答になります。 以上です。  

その他の回答 (3)

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

グラフに関するVBAはマクロの記録で勉強するのが一番。 例データ A1:D4で(円は書式で設定のこと) - りんご バナナ すいか A店 200 100 500 B店 180 130 800 C店 220 150 650 ーーー Sub Macro1() Range("A2:A4,A1:A4,C1:C4").Select Range("C1").Activate Charts.Add ActiveChart.ChartType = xlLineMarkers ActiveChart.SetSourceData Source:=Sheets("Sheet2").Range("A2:A4,C2:C4") ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet2" End Sub このRange()の()内の書き方を真似すれば仕舞い。 ーーー 計数データを主体にして Sub Macro2() Charts.Add ActiveChart.SetSourceData Source:=Sheets("Sheet2").Range("C2:C4") ActiveChart.SeriesCollection(1).XValues = Sheets("Sheet2").Range("A2:A4") End Sub のようなのも可能のようだ。

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

これでも、できるみたいです。 Union(Range(Cells(1, 1), Cells(4, 1)), Range(Cells(1, 3), Cells(4, 3))).Select

回答No.1

Range("A1:A4,C1:C4").Select ではいかがでしょう?