- ベストアンサー
VBAでシリアル値を取得する方法
VBAでシリアル値を取得する方法を教えていただけないでしょうか テキストデータで 20140810の形でデータがあります。 このデータをもとに、2014年8月10日のシリアル値である41861を取得したいのですが、その方法を調べてもわからないので、教えていただけないでしょうか エクセルの関数のDATEVALUEのような関数をVBAの中でも使い41861を取得したいです。 シリアル値 取得 と検索すると、DateSerial関数がでてきますが違うようです。 わからなくなってきたので、アドバイスをお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 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"")") とか。 以上です。
その他の回答 (1)
- cj_mover
- ベストアンサー率76% (292/381)
回答No.2
#1です。 2例目は MsgBox Evaluate("--TEXT(" & s & ",""0-00-00"")") 2文字分短く書けたのでした。 失礼しました。
お礼
何回も型変換する方法は勉強になりました。 ありがとうございました。