• ベストアンサー

エクセルマクロ シートの追加

マクロでシートを追加し、シートの名前を変更したくて記録したところ、以下のコードになりました。 しかしながら、2度目に実行すると、sheet2が追加されsheet1が無いためエラーとなります。 2度目に実行してもsheet2のシート名を変更できるようにするには、どうすればよいですか? Sheets.Add Sheets("Sheet1").Select Sheets("Sheet1").Name = "処理結果"

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

  • ベストアンサー
  • ryoppemag
  • ベストアンサー率15% (15/96)
回答No.1

Sheet2も"処理結果"という同じ名前にしてしまうと結局エラーになってしまうのでSheet2以降もシート名を変更します。例えば時刻をつけるとすると、 Worksheets.Add(after:=Worksheets(Worksheets.Count)) _ .Name = "処理結果" & Format(Now(), "h時mm分ss秒") で名前を付けたシートを追加できます。

VitaminBB
質問者

お礼

回答ありがとうございます。 うまく行きました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

1行で済みます。aaaXと言う名の3シート増やす例です。ご参考に。 Sub test04() For i = 1 To 3 Sheets.Add.Name = "aaa" & i Next i End Sub

VitaminBB
質問者

お礼

回答ありがとうございます。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

同じブック内でシート名は同じ名前を付けられないので、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

VitaminBB
質問者

お礼

回答ありがとうございます。 もちろんOKでした。

関連するQ&A