- ベストアンサー
エクセルマクロ シートの追加
マクロでシートを追加し、シートの名前を変更したくて記録したところ、以下のコードになりました。 しかしながら、2度目に実行すると、sheet2が追加されsheet1が無いためエラーとなります。 2度目に実行してもsheet2のシート名を変更できるようにするには、どうすればよいですか? Sheets.Add Sheets("Sheet1").Select Sheets("Sheet1").Name = "処理結果"
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Sheet2も"処理結果"という同じ名前にしてしまうと結局エラーになってしまうのでSheet2以降もシート名を変更します。例えば時刻をつけるとすると、 Worksheets.Add(after:=Worksheets(Worksheets.Count)) _ .Name = "処理結果" & Format(Now(), "h時mm分ss秒") で名前を付けたシートを追加できます。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
1行で済みます。aaaXと言う名の3シート増やす例です。ご参考に。 Sub test04() For i = 1 To 3 Sheets.Add.Name = "aaa" & i Next i End Sub
お礼
回答ありがとうございます。
- papayuka
- ベストアンサー率45% (1388/3066)
同じブック内でシート名は同じ名前を付けられないので、2度実行したら変わりません。 Sub aa() Dim ws As Worksheet On Error Resume Next Set ws = Worksheets.Add _ (after:=Worksheets(Worksheets.Count)) ws.Name = "処理結果" '↓おまけ ws.Range("A1").Value = "処理結果シート作成に成功" ws.Range("C20").Activate '↑おまけ End Sub
お礼
回答ありがとうございます。 もちろんOKでした。
お礼
回答ありがとうございます。 うまく行きました。