アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルで複数のシートの、それぞれのデータ(セルの範囲)を一括でクリアできるようマクロを作成したいです。
全くの初心者で何回か頑張っていますが、「インデックスが有効範囲に・・・」や「構文エラー」などが出てうまくいきません(TT)
アドバイスをお願いいたします。。。

A 回答 (4件)

で、そのソースは?


シートが何枚あって、
セルの範囲がどこで、
クリアするアクションがなんであって、
何も分からないまま、すべて仮説で回答を出すのは苦痛です。

この場では恥ずかしがらずに公開しましょう。
どこが間違っているか、そのソースを元に回答できます。
そのほうがtotoro4726さんにとって「すんごく」勉強になりますよ。

この回答への補足

シートは7枚
セル範囲 1枚目 F8:P12
      2枚目 I4:S17
      3枚目 H6:S12
      4枚目 J6:T11
      5枚目以降 H7:S12
数式と値をクリアしたいと考えています。
このような補足でよろしいでしょうか??
申し訳ないです・・・・・

補足日時:2008/06/15 07:53
    • good
    • 0

Sheet1からSheet3までセル範囲A1からA10までをクリアします。



Sheets("Sheet1").Range("a1:a10").Clear
Sheets("Sheet2").Range("a1:a10").Clear
Sheets("Sheet3").Range("a1:a10").Clear

適宜必要な箇所を変更してご使用ください。
    • good
    • 1
この回答へのお礼

私が作成していたのとは違っていましたが、これでもできました!
勉強になりました。ありがとうございました(≧▽≦)

お礼日時:2008/06/16 20:58

↓のような感じでいかがでしょうか?



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

参考URL:http://www2.odn.ne.jp/excel/waza/macro.html
    • good
    • 0
この回答へのお礼

こちらも私が作成していたのとは違っていましたが、これでもできました!
いろいろな方法があるのですね・・・
大変勉強になりました。ありがとうございました(≧▽≦)

お礼日時:2008/06/16 21:03

ぜひマクロの記録を使用してみてください


使用方法はツールバーの[ツール]-[マクロ]-[新しいマクロの記録]-[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キーで選択セル範囲を削除までのマクロ記録です

長々と済みませんでした
頑張って下さい
    • good
    • 1
この回答へのお礼

「マクロの記録」というものを知りませんでした!
教えていただいたものでモチロンできたのですが、「マクロの記録」を使って、自分でも少しアレンジして作成してみたら簡単にできました!!
ビックリしちゃいました。
とても勉強になり、参考になり、助かりました。
ありがとうございました(≧▽≦)

お礼日時:2008/06/16 21:01

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

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


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