- ベストアンサー
マクロの書き変え方法とシート数指定について
- マクロの書き変え方法とシート数指定について質問です。
- 現在使用しているマクロに、セルE12・E14・F14のデータを消す式を追加したいです。
- また、シート数を指定しない場合の方法も教えていただけませんか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
何度もすいません。 Sheets(i).Range("B2,E12,E14,F14").ClearContents E12,ではなく、B12を消してください。
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17069)
シート名がA,B、Cの3つのシートの「E12・E14・F14データーを消す」 Sub test02() sn = Array("A", "B", "C") For i = 0 To UBound(sn) Worksheets(sn(i)).Range("E12,E14,F14").ClearContents Next i End Sub とか ーーー Sub test03() Dim sn Set sn = Sheets(Array("A", "B", "C")) For Each ws In sn ws.Range("E12,E14,F14").ClearContents Next End Sub などで出来るようだ。 質問振りからして、これらを使うには、勉強がいると思う。 エクセルの「作業グループ」という機能を、まず知ってないとならない。 Googleででも照会のこと。 シートはインデックス番号でも指定できるが、シートタブの場所を動かすとインデックスが変わるので、名前を見据えて考える。
- mar00
- ベストアンサー率36% (158/430)
訂正です。 Sheets(i).Range("B2,E12,E14,F14").ClearContents E12,は消してください。
- mar00
- ベストアンサー率36% (158/430)
Sub Macro1() ここはいらないです。 For i = 1 To 18 Sheets(i).Range("B2,E12,E14,F14").ClearContents Next i End Sub ここもいらないです。
- mar00
- ベストアンサー率36% (158/430)
Selection.ClearContents この間にマクロをいれます。 Sheets("★スタッフ一覧").Select 注:For 1 to 18 はsheet1が先頭にあってsheet18まで連続している事を 前提としています。 もし、Sheets("打 ち 込 用 ")用が先頭にあって、2番目以降にsheet1~sheet18が あるような場合は For 2 to 19 にして下さい。
- mar00
- ベストアンサー率36% (158/430)
Sub Macro1() For i = 1 To 18 Sheets(i).Range("B2,E12,E14,F14").ClearContents Next i End Sub '一番最後のシートまでなら18をSheets.countに '最後から2番目ならSheets.count-1というふうにもできます。
補足
回答ありがとうございます。 遅くなりましてスミマセン 教えていただいたマクロを具体的にどのように足せばよろしいでしょうか? 現在シート名 打ちこみ用と言うシートの任意のセルを消すまくろがありますが、 これにシート1~18のセルE12・E14・F14・のデーターを消すマクロを 追加したいのですが、 ご協力よろしくおねがいします。
補足
御手数おかけします。 うまくゆかないのですが、 こちらでOKでしょうか Sub 打ち出しデーター削除() ' ' 打ち出しデーター削除 Macro ' 打ち出しシートの時間・判定を クリアーにする。 ' ' Sheets("打 ち 込 用 ").Select Application.ScreenUpdating = False Selection.SpecialCells(xlCellTypeConstants, 1).Select Selection.ClearContents Sub Macro1() For i = 1 To 18 Sheets(i).Range("B2,E12,E14,F14").ClearContents Next i End Sub Sheets("★スタッフ一覧").Select Range("A1").Select End Sub