Dim ws As Worksheet
Dim i As Long
For i = 1 To ThisWorkbook.Sheets.Count
For Each ws In ThisWorkbook.Sheets
If ws.name Like "*T*" Then
ws.name = Replace(ws.name, "T", "S")
End If
Next
Next
End Sub
この処理をするとnameメソッド失敗worksheetオブジェクト
処理できるようにするにはどうすればいいんでしょうか
No.1ベストアンサー
- 回答日時:
一例です。
If文は不要ではないでしょうか。
その1
Dim ws As Worksheet
For Each ws In Worksheets
ws.Name = Replace(ws.Name, "T", "S")
Next
その2
Dim i As Long
For i = 1 To Sheets.Count
Sheets(i).Name = Replace(Sheets(i).Name, "T", "S")
Next
No.2
- 回答日時:
変更後のシート名がすでに使われていないかどうかはチェックした方が良いと思います。
Sub Sample()
Dim ws As Worksheet
Dim sName As String
Dim rtn
'*** 変更後のシート名がダブらないかチェック
For Each ws In Worksheets
sName = Replace(ws.Name, "T", "S")
If sName <> ws.Name Then
On Error Resume Next
rtn = 0
rtn = Sheets(sName).Index
If rtn <> 0 Then
MsgBox ("変更後のシート名(" & sName & ")と同名のシートが存在しています")
Exit Sub
End If
On Error GoTo 0
End If
Next
'*** シート名変更
For Each ws In Worksheets
ws.Name = Replace(ws.Name, "T", "S")
Next
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) シート削除のマクロで「deleteメソッドは失敗しました」となります。助けてください! Sub 不要 6 2022/09/08 16:41
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) 今日の日付が過ぎたらその行を削除したい 1 2023/04/01 20:06
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
実行時エラー'1004': WorkSheet...
-
別のシートから値を取得するとき
-
特定の文字を含むシートだけマ...
-
XL:BeforeDoubleClickが動かない
-
excelのマクロで該当処理できな...
-
ブック名、シート名を他のモジ...
-
VBA 存在しないシートを選...
-
セルのコピーで「オブジェクト...
-
エクセルのシート名変更で重複...
-
Excel VBA 複数行を数の分だけ...
-
同じ作業を複数のシートに実行...
-
シートが保護されている状態で...
-
Excel VBA リンク先をシート...
-
ExcelのVBAのマクロで他のシー...
-
【VBA】色のついたシート名を取得
-
別のシートを参照して計算する方法
-
【VBA】シート名に特定文字が入...
-
コマンドボタンをクリックでシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
VBAで大量のファイルをシート名...
-
ユーザーフォームに入力したデ...
-
excelのマクロで該当処理できな...
-
【ExcelVBA】全シートのセルの...
-
同じ作業を複数のシートに実行...
-
VBA 存在しないシートを選...
-
Excelマクロのエラーを解決した...
-
特定の文字を含むシートだけマ...
-
実行時エラー'1004': WorkSheet...
-
XL:BeforeDoubleClickが動かない
-
シートが保護されている状態で...
-
実行時エラー1004「Select メソ...
-
【Excel VBA】Worksheets().Act...
-
ブック名、シート名を他のモジ...
-
エクセルのシート名変更で重複...
-
ExcelのVBAのマクロで他のシー...
-
Excel VBA 複数行を数の分だけ...
-
エクセルのマクロについて教え...
-
VBA 最終行まで数式をコピーする
おすすめ情報