- ベストアンサー
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
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんなので好いですか? 下記をモジュールシートへ貼り付けて試行してみて下さい。 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
その他の回答 (2)
- ziziwa1130
- ベストアンサー率21% (329/1546)
VBでの文字列結合演算子は&じゃなくて+ですよ。 HENSU = Chr(34) & "A1" & ":" & "C4" & Chr(34)→HENSU = Chr(34) + "A1" + ":" + "C4" + Chr(34)
- turuzou
- ベストアンサー率33% (15/45)
下記が参考になりそうです。 すぐに役立つエクセルVBAマクロ集 http://www.asahi-net.or.jp/~zn3y-ngi/index.html の 変数名で範囲指定して選択する http://www.asahi-net.or.jp/~zn3y-ngi/YNxv206.html#4
お礼
ありがとうございました。
補足
ありがとうございました。 わざわざダブルクォーテーションをダブってつけていたんですね。 単純な勘違いでした。 助かりました。