• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:exel vba ワークシートデータを日付にしたい)

exel vbaのワークシートデータを日付に変換する方法

このQ&Aのポイント
  • ワークシートからIDを検索し、生年月日の値をテキストボックスに表示する方法について解説します。
  • 日付形式で入力されたワークシートデータをVBAで値を引っ張ると数値になってしまう問題についても触れます。
  • 日付形式でない場合はエラーメッセージを表示させ、日付型データで入力するように促します。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.2

> 和暦表示は無理でしょうか? CDate外してFormatでいけると思います。 TextBox誕生日.Value = Format(FRange.Offset(0, 2).Value, "ggge年m月d日") いけなかった場合CDateをのこしてFormatしてください。 TextBox誕生日.Value = Format(CDate(FRange.Offset(0, 2).Value), "ggge年m月d日")

makisaori
質問者

お礼

ほぼ完成しました!! いろいろありがとうございました。 いろいろできてくると他のエラー処理とかも(例えばIDの桁数制限)やりたくなってきました。 自分で調べてわからなかったらまた投稿しますのでよろしくお願いします。

makisaori
質問者

補足

ありがとうございます。s50/5/5の形式にしたかったので "ge/m/d"としました。

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

> ワークシートの日付データが25897のような数値で表示されるのでエラーになります TextBox誕生日に値を入れるときにCDateでセルの値を日付型に変換します。 日付型にできる値か数値でなければエラーになるので、日付か数値の場合に値を入れます。 If IsDate(FRange.Offset(0, 2).Value) Or IsNumeric(FRange.Offset(0, 2).Value) Then TextBox誕生日.Value = CDate(FRange.Offset(0, 2).Value) End If

makisaori
質問者

補足

早速ありがとうございます。和暦表示は無理でしょうか?

関連するQ&A