• ベストアンサー

離れた列をvbaで数値で選択するには?

Sub Macro1() Range("a:c,e:g").Select End Sub を数値にしたいのですが、 Sub Macro2() Range(Columns(1), Columns(3) & ":" & Columns(5), Columns(7)).Select End Sub だと、rangeでコンパイルエラーになります。 http://okwave.jp/qa/q7329478.html を見たのですが、 どうすればいいのかわからないので教えてください。

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

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.4

1)[Ctrl] + [G] で [ジャンプ] ダイアログ を開きます。 2)[参照先(R):] に「a:c,e:g」と入力して、[OK] します。 3)以上を [新しいマクロの記録] すると、下記のコードを得られます。 Application.Goto "C1:C3,C5:C7"  ただし、[Goto メソッド] と [Select メソッド] とは、選択の方法が微妙に異なりますので、用途によっては、注意が必要です。 http://msdn.microsoft.com/ja-jp/library/office/ff839232.aspx#sectionToggle1  なお、「C1:C3,C5:C7」の中の「C」の文字は「C列」の「C」ではなくて「R1C1 形式のセル参照文字列」の「C」です。

inygfobkjnj
質問者

お礼

ご回答ありがとうございました。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No。1です。 タイトルの「数値で!」を見逃していました。 どうしても列番号で選択したい場合は No.2さんの方法を拝借させていただいて・・・ Union(Columns(1).Resize(, 3), Columns(5).Resize(, 3)).Select といった具合でもOKだと思います。 どうも失礼しました。m(_ _)m

inygfobkjnj
質問者

お礼

ご回答ありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

ご覧になったのを正しくくっつけます。 例えば: union(range(columns(1), columns(3)), range(columns(5), columns(7))).select

inygfobkjnj
質問者

お礼

ご回答ありがとうございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! Sub Sample1() Range("A:C,E:G").Select End Sub が一番手っ取り早いようですね!m(_ _)m

inygfobkjnj
質問者

お礼

ご回答ありがとうございました。

関連するQ&A