• ベストアンサー

エクセルのマクロについて

エクセルのマクロで 月/日/年を年月日に変換したいと思います。 具体的には4/5/2010を20100405に変換するイメージです。 そのやり方をお教えいただけないかと思います。 よろしくお願い致します。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

No.2です。一応マクロの方法です。 入力時に日付を数値に自動変換の場合 Private Sub Worksheet_Change(ByVal Target As Range) If IsDate(Target) Then Target = CSng(Format(Target, "yyyymmdd")) target.NumberFormatLocal = "G/標準" End If End Sub マクロの実行で選択範囲の日付のみ数値に変換する場合 Sub DCHNG() Dim RG As Range For Each RG In Selection If IsDate(RG) Then RG = CSng(Format(RG, "yyyymmdd")) RG.NumberFormatLocal = "G/標準" End If Next RG End Sub

tsuboi558
質問者

お礼

ありがとうございました。 大変助かりました。

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

Dim myDate As Date myDate =#4/5/2010# MsgBox Format$(myDate, "yyyyMMdd") 'yyyyMMdd の大文字小文字は関係がありません。 変数が、Variant で、日付を入れる場合は、IsDate やDateValue を使ってください。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

マクロでなくてもセルの書式設定で出来ませんか? 表示形式のユーザー定義で YYYYMMDD で出来ると思います。 シリアル値を数値化したいというなら、別セルになりますが =VALUE(TEXT(日付のセル,"YYYYMMDD"))

  • m_and_dmp
  • ベストアンサー率54% (987/1817)
回答No.1

マクロの記録を実行し、「書式」→「セル」で開く「セル書式の設定」の「ユーザー設定」で yyyymmdd と設定し、マクロの記録を終了、そのマクロコードがどうなっているか、見れば分かります。

関連するQ&A