プロが教えるわが家の防犯対策術!

いつもお世話になっています。

下記のように複数セルを選択して削除する構文を書きました。
これ自体は問題ないのですが、セルの数が多いので途中で折り返すように
記述しなおすと、エラーになります。
なぜなのかわかりません。
基本的な質問で申し訳ありませんが、よろしくお願いいたします。

Sub リセット()
Range("G4,F6:G6,T8,S10,S12,S15,S18,S20,S22,G25,K25,O25,L34,H36,L35,L36,H37,L37").Select
Selection.ClearContents
End Sub

書き換えた構文

Sub リセット()
Range("G4,F6:G6,T8,S10,S12,S15,S18,S20,S22,G25", _
"K25,O25,L34,H36,L35,L36,H37,L37").Select
Selection.ClearContents
End Sub

A 回答 (2件)

一例です。


文字列結合だから次の様になるのではないでしょうか。
Range("G4,F6:G6,T8,S10,S12,S15,S18,S20,S22,G25," & _
"K25,O25,L34,H36,L35,L36,H37,L37").Select

後は、Unionを使用するとか。
Union(Range("G4,F6:G6,T8,S10,S12,S15,S18,S20,S22,G25"), _
   Range("K25,O25,L34,H36,L35,L36,H37,L37")).Select
    • good
    • 0
この回答へのお礼

早々に回答をいただきありがとうございます。
お礼が遅くなり申し訳ありません。
& _
確かにそうです。文字列結合ということにまったく気づいていませんでした。
Unionは初めてですが、今後使いたいと思います。

お礼日時:2012/01/27 10:20

そりゃそうです。



Range("G4,F6:G6,T8,S10,S12,S15,S18,S20,S22,G25", _
"K25,O25,L34,H36,L35,L36,H37,L37").Select

これって

Range("xx","xx").select

になって、元の書式と違いますよ。

Range("G4,F6:G6,T8,S10,S12,S15,S18,S20,S22,G25, _
K25,O25,L34,H36,L35,L36,H37,L37").Select

こうしなくちゃダメだったかと・・・。

つか、Range("xx,・・・xx")を、シート側で「範囲名」として
指定しちゃった方がよくないですか?
    • good
    • 0
この回答へのお礼

早々に回答をいただきありがとうございます。
お礼が遅くなりもうしわけありません。
ご指摘いただいた箇所を再度確認いたします。

お礼日時:2012/01/27 10:16

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