• ベストアンサー

VBAでシリアル値を取得する方法

VBAでシリアル値を取得する方法を教えていただけないでしょうか テキストデータで 20140810の形でデータがあります。 このデータをもとに、2014年8月10日のシリアル値である41861を取得したいのですが、その方法を調べてもわからないので、教えていただけないでしょうか エクセルの関数のDATEVALUEのような関数をVBAの中でも使い41861を取得したいです。 シリアル値 取得 と検索すると、DateSerial関数がでてきますが違うようです。 わからなくなってきたので、アドバイスをお願いいたします。

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

  • ベストアンサー
  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.1

こんにちは。 Dim s As String   s = "20140810"   MsgBox CLng(DateValue(Format(CLng(s), "0/00/00"))) みたいに、 (Long型に)型変換 > Format(文字列型) > 日付型に変換 > (Long型に)型変換 するのがオーソドックスかと。 シート上の数式の方が少し簡単で、それを応用すると   MsgBox Evaluate("--TEXT(--" & s & ",""0-00-00"")") とか。 以上です。

yorkies
質問者

お礼

何回も型変換する方法は勉強になりました。 ありがとうございました。

その他の回答 (1)

  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.2

#1です。 2例目は   MsgBox Evaluate("--TEXT(" & s & ",""0-00-00"")") 2文字分短く書けたのでした。 失礼しました。

関連するQ&A