• ベストアンサー

エクセルで複数のシートのクリアをしたいです

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

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.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キーで選択セル範囲を削除までのマクロ記録です 長々と済みませんでした 頑張って下さい

totoro4726
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • izmlz
  • ベストアンサー率55% (67/120)
回答No.3

↓のような感じでいかがでしょうか? 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
totoro4726
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
  • keirika
  • ベストアンサー率42% (279/658)
回答No.2

Sheet1からSheet3までセル範囲A1からA10までをクリアします。 Sheets("Sheet1").Range("a1:a10").Clear Sheets("Sheet2").Range("a1:a10").Clear Sheets("Sheet3").Range("a1:a10").Clear 適宜必要な箇所を変更してご使用ください。

totoro4726
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

で、そのソースは? シートが何枚あって、 セルの範囲がどこで、 クリアするアクションがなんであって、 何も分からないまま、すべて仮説で回答を出すのは苦痛です。 この場では恥ずかしがらずに公開しましょう。 どこが間違っているか、そのソースを元に回答できます。 そのほうがtotoro4726さんにとって「すんごく」勉強になりますよ。

totoro4726
質問者

補足

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル2007 複数のワークシートの印刷について

    Excel2007を使っています。(2003も可) 複数のワークシートに 同一セルに作成したデータを 一枚の用紙に、コピペを使わず、プリントすることは可能でしょうか? (関数式に加え、セル結合等しています) データの内容としては、給料計算を作成しました。 個人の12ヶ月を、ワークシート内に作成しましたが 明細して使用するなら、月ごとで一枚の用紙に出力したいのですが・・・ 解る範囲で調べると、マクロを使用するとか・・・ マクロ自体使った事がないので 解説をみても、どこで作成したらいいのか 全く解りません(><) よろしくお願いします。

  • 複数のシートで同じ作業をしたい

    エクセルを使って文書をたくさん作っています。1つのブックに10くらいのシートがあって、セル幅を変えるとか、同じ文章を挿入するとかしたいときに、一括してすべてのシートに同じ作業をさせるにはどうしたらいいのでしょうか、エクセルの初心者でよくわかりません。マクロの記録を使ってやってみるのですが、うまくいきません。教えてください。 エクセル2002を使っています。

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

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

  • エクセル:複数シートの一括処理

    お世話になります。 エクセルで1つのブックに複数のシートがあります。 書式は同じですが行数がそれぞれ違います。 A列で、データが入力されている一番下のセルの次の行から、エクセルの最終行である65536行までの行を全て選択して「削除」をしたいのです。(行の削除)しかも全シート一括で。 A列でデータが入っている一番下のセルがA550だった場合、551行~65536行までを全て選択→削除を行う。 これらの作業をするためのマクロを教えてください。

  • エクセルの複数シート間での集計

    エクセルの複数シートの同一セル内に入っている文字データの集計を行いたいと思っています。A~Gまでのアルファベットが入っているのですが、全シートのAが何個、Bが何個という各アルファベットの数を数えたいのです。アルファベットを数字に当てはめてCOUNTIFと考えたのですが、元範囲を複数シートにとることができず行えませんでした。何か良い方法は無いでしょうか?宜しくお願いいたします。

  • エクセル マクロ 複数シートを集約

    複数のエクセルシートの同一範囲を集約シートに纏めたいのですが どうやったらできるのか教えてください。 (1)範囲はA1からL216まで (2)シート数は毎回変動 (3)集約シートにはシート1の内容の次の行からシート2の内容というふうに  ずらずらとデータを並たい 以上3点が要望としてあります。 いくつかのマクロを組み合わせて一つのマクロを作ろうとしたところ この部分だけうまくいかずに困っております。

  • excelで複数のシートにページを振りたい

    excelである作業のマニュアルのようなものを作成しています。 1枚のシートに1ページ分を作り、合計60ページ分くらいを60シートに 作っています。 すべて同じフォーマットで作成しているのですが、各シートの同じ セルアドレスにページを振りたいと思うのですが、マクロを 使用せずに、ページを振ることは可能でしょうか? もしうまいやり方があれば教えていただければと思います。 当方excel2000を使用しています。 【複数シートの同一セルにページ番号を振りたい】 (1)マクロを使わない。 (2)ヘッダー等で印刷時のみ表示される方法以外で。 以上よろしくお願いします。

  • エクセル複数シートの検索とVBA

    エクセルVBA初心者です。 今エクセル2007で、下画像の上段・中段のような売上げシートを ブックの中に複数シート作成しています。 シートは売上げのあった日毎に作成しており、シート名は「1.1」のように日付にしています。 売上日はシートの左上のA1セルに入力しています。 ここでしたい処理なのですが、画像の下段のように検索用の シートを1枚作り、そこに売上内容を入力し、マクロコードを実行すれま、自動的に 該当するデータ(売上内容から支払い方法まで)を表示するコードはあるのでしょうか。 今は手作業で、シートを目視で確認しているので大変になってきました。 よろしくお願いします。

  • エクセルVBA 複数シートからのデータ取得

    質問失礼します。 現在エクセルVBAを用いてマクロを作成しているのですが、 30ものシートから複数のデータを取得する方法がわかりません。 Sheet1.Cells(○,□).value とすれば、Sheet1の○□のセルからの データは取得できるのですが、それをSheet30まで書き続けると 結構な行数になってしまいます。 そこで、Sheet1~Sheet30まで1~30の数字をループで変更させながら 参照していく方法はありませんか? 自分でも色々試してみたのですが、どれも成功しなかったので。。 回答の程よろしくお願いします。

  • エクセルVBAでクリアボタンを作ったのですが・・・

    エクセルVBAでクリアボタンを作ったのですが、ひとつのシートは表紙でクリアさせず、その他すべてのシートは同じセル範囲をクリアするというボタンを作成したいのですが 「表紙というシートを除いたほかのシート」と宣言したいのですが表現がわかりません。ご回答よろしくお願い致します。

このQ&Aのポイント
  • ts8130を使用しています。白黒の印刷で、ところどころ白い筋が入ってしまいます。
  • 問題の原因は目詰まりではなく、文字をカラーにすると筋が出ないことから、他の色(赤)では発生しないことがわかります。
  • モノクロ印刷設定でも筋がでないため、問題はプリンター自体の設定ではなく、印刷データに関わる可能性が高いです。
回答を見る

専門家に質問してみよう