• ベストアンサー

ExcelのVBAのマクロで他のシートの複数項目をクリアする方法

VBAマクロで、他のシートの複数の項目を一括でクリアする方法ってありますか? Sheet1でマクロを実施中に、Sheet2の「Range("C1:D11":"F1")」を画面を切り替えずに、クリアするにはどのようにコーディングするのでしょか? よろしくおねがいします。

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

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.2

  >Range("C1:D11":"F1") こういう範囲設定の方法はありませんぬ。。(^^;;; 今回の場合は、   Range("C1:D11,F1")   ← こうです。 と、軽~く突っ込んでおいて、、、(^^;;; ●セルに入力されている【値】のみクリアーするなら、 Sheets("Sheet2").Range("C1:D11,F1").ClearContents ●値だけでなく、書式(罫線、文字色など)の書式もクリアーするなら Sheets("Sheet2").Range("C1:D11,F1").Clear 序に、次も覚えておくといいでしょう。 ●書式のみのクリアーなら、 ClearFormats ●コメントのクリアーなら、 ClearComments 以上。  

9_chan
質問者

お礼

有難うございます。 試してみます。

その他の回答 (2)

  • kiki_s
  • ベストアンサー率59% (147/248)
回答No.3

>”インデックスが有効範囲にない”とエラーがでるのですが・・・ シート名とVBAでのシート指定は一致していなければ駄目です。 今回の場合、 Sheets("シート2").Range("C1:D11,F1").ClearContents になります。 シート名の一部にスペースが入っていても同じで、必ず完全一致でなければなりません。

9_chan
質問者

お礼

何がいけなかったんだろ? 上記方法で出来ました。 有難うございます。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

Sheets("Sheet2").Range("C1:D11, F1").Clear

9_chan
質問者

補足

シート名を "Sheet2" から "シート2" と変更していた場合はどうなのでしょう? それが原因か”インデックスが有効範囲にない”とエラーがでるのですが・・・

関連するQ&A