Sub hiduke()
Dim ws As Worksheet
Set ws = Worksheets("Sheet3")
Debug.Print Date 'Dateだと2017/10/04で表示されました…
ws.Range("A1").Value = Day(Now) 'これだと4しか表示されないですね!
ws.Copy after:=ws
Dim ws2 As Worksheet
Set ws2 = ActiveSheet
ws2.Name = "SheetX"
Dim ws3 As Worksheet
Set ws3 = Worksheets("SheetX")
Debug.Print Format(Date, "yyyymmdd") 'どちらでも同じ結果になりました…。
ws3.Name = Format(Now, "yyyymmdd") 'こちらだと時間、分、秒も取ってきてしまうので、Dateの方が良さそう?
Dim ws4 As Worksheet
Set ws4 = Worksheets("Sheet3")
ws4.Copy after:=ws4
ws4.Name = "SheetX"
Worksheets("SheetX").Delete
End Sub
浦山大さんの投稿
(投稿ID: 3479)
何も見ないでトライが出来るようになってきました。
Format関数のところも自分でヘルプを見て実施しました。
ヘルプを見て10回程度トライ→何とか欲しい動きになってくれました。
→ぼやーっとしている点を教えて頂ければと思います。
癖?なのか、どこかのシートが出てくるとすぐにオブジェクト変数であれやこれやと指定してしまいます。
今回の問題は特に指定しなくても問題ないのかな?
と思いながらも「んー」と考えて、
都度ws…。などと指定してしまいました。
※指定する方がオブジェクトとして使えるので、動かしやすい
※どこのシート(オブジェクト?)を動かすのかを明示できるので「今、これがニックネームこれね」って確認できる
くらいの意図で使っているのですが、
※使う意図、へんてこですか?
実務でマクロを書いている時に長い行数になって来た時に、
オブジェクト変数を使うとコードが非常にわかりやすかったので、
そこから出た質問でした。
本題とあんまり関係のない質問ですみません。
ど素人で根源がわかっていないので、へんてこだったら本当にすみません!