3行マクロ講座 48回~すぐに役立つ3行マクロ

アメリ力式の『月/日/年』の形式を日本式に変換

「困ったよ、アメリカ支店から送られてきたデータの日付が、ぜんぶアメリカ式なんだよ。」
日本とアメリカでは日付の表示方法が違うので、日本版のExcelで開くとアメリカ式の日付は数値とみなされず、文字列として扱われます。 関数を使用するときには、文字列では使えません。
どうしたら日本式の日付に変換できるのでしょう。
(サンプルファイルは、こちらから 3行マクロ48回サンプルデータ

アメリカ式の日付を日本式の日付に変更して関数を使いたい

下記の表にある日付はアメリカ式の『月/日/年』で入力されているため、日付としてではなく、文字列として認識されています。
文字列のままでは不便なので、Excelに日付として認識してもらいます。
そのためには、一旦VBAにセルを日付として認識させ、それを元のセルに代入します。
コードは次のようになります。
Sub アメリカの日付を認識させる()
	Range("A2:A31").Value = Range("A2:A31").Value
End Sub
    

セル範囲を指定せず、選択範囲とする場合は、次のコードです。
Sub アメリカの日付を認識させる2()
    Selection.Value = Selection.Value
End Sub
    
コードを見ると、左辺=右辺なので、同じことをしているように見えますが、VBAにセルの内容を渡すことで日付と認識させ、それを再びセルの戻すという操作をしていることになります。
マクロを知らないとめんどうな作業ですが、知っていれば簡単、たった1行のコードで済んでしまいます。
イミディエイトウィンドーからも実行することができます。 Sub マクロ名()~ End Sub を書く必要はありません。 コード内にカーソルを置きEnterキーで実行されます。 こちらもお試しください。
    Range(”A2:A31”).Value=Range(”A2:A31”).Value
あるいは、
    Selection.Value = Selection.Value
今日の講義は以上です。お疲れ様でした。

スポンサーリンク
スポンサーリンク
おすすめコンテンツ