|
こんにちは。かみちゃん です。
>>どこが問題なのかアドバイスお願いします。
>
>コード全体がないようですので、何ともいえませんが、
>shtname = DateSerial(Year(txt), Month(txt) + 1, Day(txt))
>のコードでもエラーになると思います。
>まず、
>変数 shtname の宣言がない
>変数 txt のデータ型がString型である
>そのため
>txt = Sheets(Sheets.Count).Name
>の内容によっては、「型が一致しません」のエラーになります。
>
>シートコピー前の末尾のシートのシート名は、どのようなものを設定しているのでしょうか?
マクロマンさんがご紹介の例であれば、以下のような感じでもできます。
ただし、コンテストに応募されるならば、
Excelが勝手にString型からDate型に変換しているのを利用しているだけのため、
正解なのかどうか、本当にそれでいいのだろうか?と疑問です。
Dim txt As String
txt = Sheets(Sheets.Count).Name
With Worksheets.Add(after:=Worksheets(Worksheets.Count))
.Name = Format(DateAdd("m", 1, DateValue(txt)), "yyyy""年""mm""月"";@")
End With
|
|