- ベストアンサー
マクロの質問ですが、複数有るシートの中のSheet1~Sheet54の
マクロの質問ですが、複数有るシートの中のSheet1~Sheet54のセルC14:E14,E12,C16:E46 だけ消したいのですが、どう書けばよろしいですか、シート名Sheetから、始まる物と別に 日本語のシート名の物がありますが よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
方法はいつくもありますが、、、 '----------------------------------------- Sub Test() Dim i As Integer For i = 1 To Sheets.Count If Sheets(i).Name Like "Sheet*" Then Sheets(i).Range("C14:E14,E12,C16:E46").ClearContents End If Next i End Sub '---------------------------------------- また、Sheetを検出する部分は次のように シート名の左から5桁が、"Sheet”だったらというふうにもかけます If Left(Sheets(i).Name, 5) = "Sheet" Then 以上です。
その他の回答 (4)
- muunoy
- ベストアンサー率38% (70/183)
ANo.4を書いたのですが、ANo.3と内容がちょっとかぶっちゃいました。 誤変換の訂正です。 >個別に各方法 →個別に書く方法 重ね重ねすみません。
お礼
何度もありがとうございました。 皆さまのおかげで解決しました。 感謝してます。
- muunoy
- ベストアンサー率38% (70/183)
内容を確認させてください。 > セルC14:E14,E12,C16:E46だけ消したい とのことですが、セルの削除ではなく、値の削除だけでしょうか? 書式設定やコメントはないでしょうか? >複数有るシートの中のSheet1~Sheet54 とのことなので、ワークシートオブジェクトと範囲の指定をして、 CleaContentsすればいいのでしょう。 が、特定できるのはSheetObjectがSheet1~Sheet54で シート名(.Name)やシート並び順(.Index)には、ルールはないと読めたのですが、違いますか? ちなみに、下のループだと、Index順になってしまうので…。 Sheet1~Sheet54を個別に各方法しかないかも。 Dim All As Object, S As Object Set All = Sheets For Each S In All (省略) Next S ちゃんとした回答になってなくてすみません。参考まで。
お礼
色々考えていただき ありがとうございます。 皆さんのおかげで、解決できました。 ありがとう 感謝です。
- mt2008
- ベストアンサー率52% (885/1701)
シートを順番に見て行って、シート名が「Sheet1」と「Sheet54」に挟まれたシート(Sheet1とSheet54も含む)の指定したセル範囲をクリアします。 Sheet1~Sheet54の間のシートはシート名が何であろうと対象にします。 Sub Sample() Dim ws As Object Dim nFlag As Integer nFlag = 0 For Each ws In Sheets If ws.Name = "Sheet1" Then nFlag = 1 If nFlag = 1 Then ws.Range("C14:E14,E12,C16:E46").ClearContents If ws.Name = "Sheet54" Then Exit For Next End Sub
お礼
シートを挟む考え方もあるのですね。 参考になりました。 皆さんのおかげで、無事解決出来ました。 ありがとうございます。
- DIooggooID
- ベストアンサー率27% (1730/6405)
Sub Sheet_DelCell() For Each sheet_name In Worksheets MsgBox sheet_name.Name sheet_name.Activate Range("C14").ClearContents Range("E14").ClearContents Range("E12").ClearContents Range("C16").ClearContents Range("E46").ClearContents Next End Sub
お礼
ありがとうございます。 皆さんのおかげで、 解決しました。 スッキリです!。
お礼
なるほど 文字の桁数での考えもあるのですね。 考えもつきませんでした。 教えていただいた構文で 無事に解決しました。 ありがとうございました。