• ベストアンサー

excelマクロで新しいシート(シート名 yyyymmdd)を作成したい

質問させてください。 excelマクロで新しいシート(シート名 yyyy/mm/dd)を作成したいと思っています。 以下のようにマクロを作成したのですが、エラーが出てしまいます。 本件について対応がお分かりになられる方教えていただけないでしょうか。 -------------------------------------- Sub 集計開始_Click() '宣言開始 Dim newsheet As Worksheet 'シート追加 Set newsheet = Worksheets.Add today = Date MsgBox today 'テスト用 'シート名記入 With newsheet .Name = Date ←【ここでエラーがでてしまいます】 End With End Sub -------------------------------------- 大変お手数をお掛けいたします。 宜しくお願い致します。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.3

copysheet.Copy After:=.Item(.Count) が実行されて新しいシート(複製)が作成されると、新しいシートがアクティブになっています。 ですから、この行の直後に ActiveSheet.Name = Format(Date, "yyyymmdd") とすると、名前を設定出来ます。

mattu123
質問者

お礼

回答ありがとうございます。 教えていただいた内容で作成することができました。 お忙しい中ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

>シート名 yyyy/mm/dd シート名には、"/" 等の記号は使えません。 表示されるエラーメッセージにもその記載があるかとおもいますが? .Name = Format(Date, "yyyymmdd") .Name = Format(Date, "yyyy-mm-dd")

mattu123
質問者

お礼

回答ありがとうございます。 ご教授いただいた内容で作成することができました。 大変申し訳ないのですが その後いくつか変更したい点がありマクロを作成したのですが うまくいきません。 こちらについて知っていらっしゃる場合教えていただけないでしょうか。 内容は以下になります。 --------------------------------------------------------------- 【sampleシートをコピーし、コピーしたシート名をsample_yyyymmddにしたい】 <内容> Sub 集計開始_Click() '############################################## 'ファイルコピー(集計結果_雛形) '############################################## Dim copysheet As Worksheet Set copysheet = sample With Worksheets copysheet.Copy After:=.Item(.Count) End With Set copysheet = Nothing End Sub 上記の内容で実行したところ、ファイル名がsample(1)になるため、 yyyymmddを導入したいのですが、 どのタイミングで導入したらよいのでしょうか。 (".Count”に教えていただいた日時を導入したのですがエラーになってしまいました) 大変お手数ですがご教授宜しくお願い致します。

すると、全ての回答が全文表示されます。
  • chiw
  • ベストアンサー率33% (42/126)
回答No.1

今確認できないのですが Date を Date$ に変えたらできませんかね

mattu123
質問者

お礼

お忙しい中回答ありがとうございました。 hana-hana3さんに教えていただいた方法で作成することができました。 大変申し訳ないのですが、要件が変更になり以下作成しています。 対応の仕方が分からず困っているため、ご存知の場合教えていただけないでしょうか。 内容は以下になります。 --------------------------------------------------------------- 【sampleシートをコピーし、コピーしたシート名をsample_yyyymmddにしたい】 <内容> Sub 集計開始_Click() '############################################## 'ファイルコピー(集計結果_雛形) '############################################## Dim copysheet As Worksheet Set copysheet = sample With Worksheets copysheet.Copy After:=.Item(.Count) End With Set copysheet = Nothing End Sub 上記の内容で実行したところ、ファイル名がsample(1)になるため、 yyyymmddを導入したいのですが、 どのタイミングで導入したらよいのでしょうか。 大変お手数ですがご教授宜しくお願い致します。

すると、全ての回答が全文表示されます。

関連するQ&A