• ベストアンサー

ExcelマクロでRange("A1:A5,C1:C5")をCellsで書きたいのですが

マクロ初心者です。 Excelマクロでグラフを作成するときに、元データを指定する所で、 Source:=Range("A1:A5,C1:C5")とするような場合、 「A1」とかアルファベットでの番地指定ではなく、 Cellsを用いて書きたいのです。 Source:=Range("A1:A5")であれば、 Source:=Range(Cells(1, 1), Cells(5, 1))と書けばいいことは分かるのですが、範囲指定を複数にする場合が分からないのです。 よろしくお願いします。

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

  • ベストアンサー
回答No.1

Unionを使用したらできると思います。 Source:=Union(Range(Cells(1, 1), Cells(5, 1)), Range(Cells(1, 3), Cells(5, 3))) 今Excelがインストールされてないパソコンで作業していないので確認はしていないのですが・・・。 よかったら参考にして下さい

takaandhiro
質問者

お礼

出来ました! ありがとうございました。 Unionというのは初めて知りました。

関連するQ&A

  • エクセル マクロ range

    rangeの使い方が分かりません. 特にグラフの範囲指定の方法で・・・ 1..  r1=range("cells(28,RETU1)")  ? RETU1、RETU2は、inputboxで指定したい。 2. r2=range("cells(28,RETU1),cells(295,RETU2") ? 3. range("a28,a295","cells(28,RETU1),cells(295,RETU2").select ? 離れた範囲2つを一つの範囲にしたグラフを書きたい。 4.  inputboxで列名を記入するとき、数字でないといけないのか、アルファベットでもいいのですか? 5. range("cells(28,RETU1)").activate ? 以上を別法で以下のようにしたら? 6.  Dim r1 As RANGE ・・・となって、Rangeになりません。   このあと、例えば、 r1.select とかr1.activateでいいですか? 7. set R1=range("cells(28,RETU1),cells(250,RETU2") set R2=range(a28,a250) unite (R1,R2) ?

  • エクセル マクロについて Range と Cells について 

    エクセル2003 OSはXP を使っています。 以下のとおり、全く同じコードにも関わらず、前者は動き、後者は動きません。 なお、ClearContents を Clear に変えても Copy に変えても、同様の結果です。 しかし、Cells を使わずに、"A4:C10" 等、番地で直接書くと、後者も動きます。 後者のコードを Cells で動かす方法は無いでしょうか? また、何故こんな現象がおこるのでしょうか? なお、シート名などは、間違いありません。 どなたか教えてください。 Sheets("基本データ作成").Range(Cells(3, 3), Cells(qwe, 4)).ClearContents Sheets("検討データ").Range(Cells(4, 1), Cells(qwe, 3)).ClearContents

  • エクセルマクロのrangeオブジェクト

    グラフを作成する下記のマクロでRangeオブジェクトにて範囲指定しておりますが,これをR1C1形式で表現するにはどうすればよいでしょうか? ActiveChart.SetSourceData Source:=Sheets(tmpSheetName).Range("A2:AM2,A81:AM81"), PlotBy:=xlRows どうかよろしくお願いします.

  • Range("A1")⇔cells(1,1)の変換。

    EXCELのマクロについて質問します。 Range("A1")⇒(1,1) cells(1,1)⇒("A1") に一発変換する方法を教えて下さい。 時間があるかた宜しくお願いします。

  • エクセルのマクロでCells(j,i)を使用してデータ範囲を指定してグラフを作成する方法

    エクセルのマクロでグラフを描く時に、2つの離れた列(1列目とi列目)のデータを Cells を使用して範囲指定をしたいのですが、エラーがでてしまします。どこが間違っているか教えていただけないでしょうか? よろしくお願いいたします。 下記の式では正常にグラフは作成されます。 ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:A19,C1:C19"), PlotBy _ ' :=xlColumns 下記表現でエラーが発生します。 Dim c1, c2, c3 As Range Set c1 = Worksheets("Sheet1").Range(Cells(1, 1), Cells(jmax, 1)) Set c2 = Worksheets("Sheet1").Range(Cells(1, i), Cells(jmax, i)) Set c3 = Union(c1, c2) ActiveChart.SetSourceData Source:=Sheets("Sheet1").c3, PlotBy _ :=xlColumns エラー内容 実行時エラー'438' オブジェクトは、このプロパティまたはメソッドをサポートしていません。

  • ExcelのVBAでRangeとCellsをWSHから使いたいのですが・・

    エクセルに書き込むマクロのコードを書いていたのですが、 Exl.range(Cells(1, 1), Cells(3, 4)).Font.Bold = True のような部分が、VisualBasic や OFFICEのVBA上で 参照設定でExcelを指定していると、動くのですが、 同じコードが、WSHでは参照設定ができないせいなのか、 動きません。WSHの場合、どのようにしたらよいのでしょうか。 よろしくお願いします。

  • RangeプロパティとCellsプロパティ

    お世話になります。 現在、VB.NET2003からExcel2003を操作するプログラムを作成しているのですが、基本的な点が一つ、わかりませんので、教えていただけないでしょうか? Range("C5")は、Cells(5,3) Range("B1:D5")は、Range(Cells(1,2), Cells(5,4))、 と表すことが出来ますが、 Range("A1:E1,A4:E7")はCellsプロパティではどのように指定すればよろしいのでしょうか? 以上、宜しくお願いいたします。

  • Cells(1,3)をRange("C1")に変換

    Sheets(Sn).Range("A1:Z98").Copy Destination:=Sheets(Sn).Range("V9") r=131です 上記のVBAを使用したいのですが求められるのはCells(r-1,3)なのです。そのためにCells(r-1,3)をRange("C130")に変換できないでしょうか よろしくお願いします。

  • range指定方法について

    こんにちは。 エクセルでセルの範囲を指定するとき、例えば Range("C:C,F:F") とかってすると思うんですが、これをC:Cではなくcellsで指定するには どうすればいいのでしょうか? Range(cells(1,1),cells(1,2)) みたくしたいのです。でもこれだと連続した範囲しか指定できないので。。。 ----------------------------- 環境:Excel2003、WinXPSP2

  • excelのマクロでrangeの選択がうまくいきません。

    excelのマクロでrangeの選択がうまくいきません。 以下のマクロをsheet2に書きました。testcopyは動きますが、testcopy2は動きません。なぜなのでしょうか。どうすればいいのでしょうか。それ以外のマクロの部分との関係から、cellsを使い、数字を使ってrangeの処理をしたいのです。よろしくお願いします。 Sub testcopy() Worksheets("sheet1").Range("B3:C10").Copy Worksheets("sheet2").Range("e5").Select ActiveSheet.Paste End Sub Sub testcopy2() Worksheets("sheet1").Range(Cells(3, 2), Cells(10, 3)).Copy Worksheets("sheet2").Range("e5").Select ActiveSheet.Paste End Sub

専門家に質問してみよう