前提・実現したいこと
VBA初心者です、どうぞよろしくお願いします。
Excel2016のマクロで
2020年○月×日(月) →(月)形式の曜日を削除 →別のセルに文字列(例:43832 等のシリアル値)で貼り付け
を実現したいです。
コメントありがとうございます、追記です。
コピー元のセルの値は文字列です。手動で曜日を消すとセルの書式設定の通り日付表示(値貼り付けをしたらシリアル値)になります。
発生している問題・エラーメッセージ
日付のシリアル値ではなく、「2020年○月×日」の文字列でコピーされてしまいます。
該当のソースコード
VBA
1Range("B604").Select 2 Range(Selection, Selection.End(xlDown)).Select 3 Selection.Replace What:="(月)", Replacement:="", LookAt:=xlPart, _ 4 SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 5 ReplaceFormat:=False 6 Selection.Replace What:="(火)", Replacement:="", LookAt:=xlPart, _ 7 SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 8 ReplaceFormat:=False 9 Selection.Replace What:="(水)", Replacement:="", LookAt:=xlPart, _ 10 SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 11 ReplaceFormat:=False 12 Selection.Replace What:="(木)", Replacement:="", LookAt:=xlPart, _ 13 SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 14 ReplaceFormat:=False 15 Selection.Replace What:="(金)", Replacement:="", LookAt:=xlPart, _ 16 SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 17 ReplaceFormat:=False 18 Selection.Replace What:="(土)", Replacement:="", LookAt:=xlPart, _ 19 SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 20 ReplaceFormat:=False 21 Selection.Replace What:="(日)", Replacement:="", LookAt:=xlPart, _ 22 SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 23 ReplaceFormat:=False 24 Selection.Copy 25 Range("D7").Select 26 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 27 :=False, Transpose:=False 28
試したこと
コピー前のセル →セルの書式を日付
コピー後のセル →セルの書式を文字列
に変更し、手動でやると上手くいくのですが、マクロにすると上の問題が起きてしまいます。
補足情報(FW/ツールのバージョンなど)
特になし