プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (3件)

下記が参考になりそうです。


すぐに役立つエクセルVBAマクロ集 http://www.asahi-net.or.jp/~zn3y-ngi/index.html の

変数名で範囲指定して選択する http://www.asahi-net.or.jp/~zn3y-ngi/YNxv206.htm …
    • good
    • 1
この回答へのお礼

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

お礼日時:2010/03/31 08:59

こんなので好いですか?


下記をモジュールシートへ貼り付けて試行してみて下さい。

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

この回答への補足

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

補足日時:2010/03/31 08:40
    • good
    • 5

VBでの文字列結合演算子は&じゃなくて+ですよ。


HENSU = Chr(34) & "A1" & ":" & "C4" & Chr(34)→HENSU = Chr(34) + "A1" + ":" + "C4" + Chr(34)
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A