- ベストアンサー
ExcelVBAのシート毎の値のクリアについて
VBAでシート別でまとめてセルのクリアする方法はあるのでしょうか。 例えば、シート1からシート30のセルB5:F10の数式と値のクリアをする場合は、For文を使ってループする以外にも方法はあるのでしょうか。 ループより速度が速くなる方法があればご教示ください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
参考に ループせずに sub macro1() worksheets.select range("B5:F10").clearcontents activewindow.selectedsheets.fillacrosssheets range("B5:F10") worksheets(1).select end sub みたいな手口もあります。
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
回答No.2
こんにちは! 30Sheet程度であればループで問題ないのでは? Sub Sample1() Dim k As Long For k = 1 To Worksheets.Count Worksheets(k).Range("B5:F10").ClearContents Next k End Sub くらいで・・・ VBA以外であれば すべてのSheetを「作業グループ化」して、B5~F10 を範囲指定 → Deleteキー → 作業グループ解除 これが一番早くて簡単だと思います。m(_ _)m
質問者
お礼
確かに30シート程度ならそんなに気にすることじゃないんですが、他に適切なやり方があるのか気になりました。 回答ありがとうございましまた。
- usami33
- ベストアンサー率36% (808/2210)
回答No.1
全て消えてよい? Sheets("シート名").Cells.Delete 範囲指定なら Range.Delete
お礼
なるほど。面白いですね。 回答ありがとうございました