- ベストアンサー
エクセルで複数のシートのクリアをしたいです
エクセルで複数のシートの、それぞれのデータ(セルの範囲)を一括でクリアできるようマクロを作成したいです。 全くの初心者で何回か頑張っていますが、「インデックスが有効範囲に・・・」や「構文エラー」などが出てうまくいきません(TT) アドバイスをお願いいたします。。。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ぜひマクロの記録を使用してみてください 使用方法はツールバーの[ツール]-[マクロ]-[新しいマクロの記録]-[OK]で 希望の操作をしてみてください 例えば、シートを選択、セル範囲を選択、DELキー・・・などなど 操作が終了したら、先ほどの[新しいマクロの記録]が[記録終了]に換わっていますので、選択して記録を終了します 後はマクロの実行するだけ、簡単でしょ 時間のあるときにVBAを開いて、コマンドをヘルプで引いたり、値を変更したり勉強すればいいのです 参考までに、質問者さんの希望の操作をマクロ記録してみました -------------------------------------------------------- Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2008/6/15 ユーザー名 : test ' ' Sheets("Sheet1").Select Range("F8:P12").Select Selection.ClearContents Sheets("Sheet2").Select Range("I4:S7").Select Selection.ClearContents Sheets("Sheet3").Select Range("H6:S12").Select Selection.ClearContents Sheets("Sheet4").Select Range("J6:T11").Select Selection.ClearContents Sheets("Sheet5").Select Range("H7:S12").Select Selection.ClearContents Sheets("Sheet6").Select Range("H7:S12").Select Selection.ClearContents Sheets("Sheet7").Select Range("H7:S12").Select Selection.ClearContents End Sub --------------------------------------------- このようになりました 勉強する時に解りにくければ ----------------------------------------------- Sub Macro2() ' ' Macro2 Macro ' マクロ記録日 : 2008/6/15 ユーザー名 : test ' ' Sheets("Sheet1").Select Range("F8:P12").Select Selection.ClearContents End Sub --------------------------------------------------- のように、操作を区切って記録するとわかりやすいと思います 因みに上記は、シート1を選択、セルF8からP12の範囲を選択、DELキーで選択セル範囲を削除までのマクロ記録です 長々と済みませんでした 頑張って下さい
その他の回答 (3)
- izmlz
- ベストアンサー率55% (67/120)
↓のような感じでいかがでしょうか? Sub test() Dim Sh As Worksheet Dim Rng As Range For Each Sh In Worksheets Select Case Sh.Index Case 1 Set Rng = Sh.Range("F8:P12") Case 2 Set Rng = Sh.Range("I4:S17") Case 3 Set Rng = Sh.Range("H6:S12") Case 4 Set Rng = Sh.Range("J6:T11") Case Is >= 5 Set Rng = Sh.Range("H7:S12") End Select Rng.ClearContents Next End Sub
お礼
こちらも私が作成していたのとは違っていましたが、これでもできました! いろいろな方法があるのですね・・・ 大変勉強になりました。ありがとうございました(≧▽≦)
- keirika
- ベストアンサー率42% (279/658)
Sheet1からSheet3までセル範囲A1からA10までをクリアします。 Sheets("Sheet1").Range("a1:a10").Clear Sheets("Sheet2").Range("a1:a10").Clear Sheets("Sheet3").Range("a1:a10").Clear 適宜必要な箇所を変更してご使用ください。
お礼
私が作成していたのとは違っていましたが、これでもできました! 勉強になりました。ありがとうございました(≧▽≦)
- tinu 2000(@tinu2000)
- ベストアンサー率40% (147/366)
で、そのソースは? シートが何枚あって、 セルの範囲がどこで、 クリアするアクションがなんであって、 何も分からないまま、すべて仮説で回答を出すのは苦痛です。 この場では恥ずかしがらずに公開しましょう。 どこが間違っているか、そのソースを元に回答できます。 そのほうがtotoro4726さんにとって「すんごく」勉強になりますよ。
補足
シートは7枚 セル範囲 1枚目 F8:P12 2枚目 I4:S17 3枚目 H6:S12 4枚目 J6:T11 5枚目以降 H7:S12 数式と値をクリアしたいと考えています。 このような補足でよろしいでしょうか?? 申し訳ないです・・・・・
お礼
「マクロの記録」というものを知りませんでした! 教えていただいたものでモチロンできたのですが、「マクロの記録」を使って、自分でも少しアレンジして作成してみたら簡単にできました!! ビックリしちゃいました。 とても勉強になり、参考になり、助かりました。 ありがとうございました(≧▽≦)