• ベストアンサー

【Excelマクロ】 文字列から日付型へ変換したい

AccessデータをExcelへ貼り付ける際、Access側の書式設定がyyyy/mm/ddでしたらExcelでも日付型として認識してくれますが、yyyy/mm/dd(aaa)と曜日を表記したデータはセルの書式を日付型にしても文字列として貼り付けられてしまいます。 ExcelのDATEVALUE関数を使用すれば日付型へ変換できるのは存じていますが、列/行を挿入することができません。 日付型へ変換できるマクロはありませんか? 変換したいセル番地は都度変動しますので、変換したいセル(複数列/行)を選択した状態からマクロを実行したいです。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1731/2601)
回答No.3

貼り付け時に貼り付け先の書式に合わせると文字列になるようですが、単に貼り付けでもなるのでしょうか。 どちらにしても、マクロで選択しているセルから曜日を削除する場合は以下のコードで試してみてください。 Sub Test() Dim mRng As Range For Each mRng In Selection mRng.Replace What:="(*)", Replacement:="" Next End Sub

KO1014
質問者

お礼

ご回答ありがとうございました。 そのまま貼り付ければ日付型yyyy/mm/dd(aaa)になっています。 定期的に社外へメール送信するためのExcelファイルですので、あらかじめ書式を整えておきたいのです。 曜日の有無は、その時によって要不要が変わってくるので、列固定ができません。 なるほど、”変換”ではなく”置換”なんですね。 曜日が消えて、セルの書式はyyyy/mm/ddのままでした。 大変助かりました。

その他の回答 (2)

  • heyboy
  • ベストアンサー率21% (1852/8731)
回答No.2

単にエクセル上で、 yyyy/mm/dd(aaa)の表示を 列や行から、yyyy/mm/ddの曜日を 出さない設定にすればいいのでは? 要は曜日は絶対に文字ですが 文字が消えればシリアル数値として 認識できるとは思います。

KO1014
質問者

お礼

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

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

できれば、AccessとExcelのバージョンを一致させた状態で、新規で作ってみて下さい。

KO1014
質問者

お礼

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

関連するQ&A

専門家に質問してみよう