• ベストアンサー

EXCELのVBAでRange("A1:C4")を変数にする方法を教え

EXCELのVBAでRange("A1:C4")を変数にする方法を教えて下さい。 Sub Sample1() Range("A1:C4").Borders.LineStyle = True End Sub 上のマクロの"A1:C4"を変数にして成立させるにはどのように設定すればいいのでしょうか? 以下の方法ではエラーになってしまうので、宜しくお願いします。 Sub Sample1() HENSU = Chr(34) & "A1" & ":" & "C4" & Chr(34) Range(HENSU).Borders.LineStyle = True End Sub

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

  • ベストアンサー
  • goo793ww
  • ベストアンサー率80% (8/10)
回答No.2

こんなので好いですか? 下記をモジュールシートへ貼り付けて試行してみて下さい。 Sub Sample2() Dim HENSU As String '←変数の宣言をします。 HENSU = Chr(34) & "A1" & ":" & "C4" & Chr(34) ' ""A1:C4"" を返します。←NG HENSU = "A1" & ":" & "C4" ' "A1:C4" を返します。←OK HENSU = "A1:C4" ' "A1:C4" を返します。←OK Range(HENSU).Borders.LineStyle = True ' HENSUの範囲に罫線を引きます。 End Sub

o8ji
質問者

補足

ありがとうございました。 わざわざダブルクォーテーションをダブってつけていたんですね。 単純な勘違いでした。 助かりました。

その他の回答 (2)

  • ziziwa1130
  • ベストアンサー率21% (329/1546)
回答No.3

VBでの文字列結合演算子は&じゃなくて+ですよ。 HENSU = Chr(34) & "A1" & ":" & "C4" & Chr(34)→HENSU = Chr(34) + "A1" + ":" + "C4" + Chr(34)

  • turuzou
  • ベストアンサー率33% (15/45)
回答No.1

下記が参考になりそうです。 すぐに役立つエクセルVBAマクロ集 http://www.asahi-net.or.jp/~zn3y-ngi/index.html の 変数名で範囲指定して選択する http://www.asahi-net.or.jp/~zn3y-ngi/YNxv206.html#4

o8ji
質問者

お礼

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

関連するQ&A