Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7032 / 13644 ツリー ←次へ | 前へ→

【41625】文字列を日付に変換する方法について うくれれ 06/8/17(木) 11:21 質問[未読]
【41626】Re:文字列を日付に変換する方法について Blue 06/8/17(木) 11:30 回答[未読]
【41627】Re:文字列を日付に変換する方法について Blue 06/8/17(木) 11:42 発言[未読]
【41628】Re:文字列を日付に変換する方法について うくれれ 06/8/17(木) 12:11 お礼[未読]

【41625】文字列を日付に変換する方法について
質問  うくれれ  - 06/8/17(木) 11:21 -

引用なし
パスワード
   度々失礼します。
ユーザフォームのtextboxに「180101」という文字列を入れ、それをシート上のセルに「H18.1.1」という日付で入れるということはできますでしょうか。
できる場合どのようにすればよいのでしょうか。
素人ながら試しに以下のようなコマンドをやってみましたが、やはりというか全然だめでした。

Dim A As Integer
Dim B As Integer
Dim C As Integer
Dim 日付 As DATE

A = Left(text6, 2)
B = Mid(text6, 3, 2)
C = Right(text6, 2)

日付 = "H" & A & "." & B & "." & C

Range("a65536").End(xlUp).Offset(1).Select
Selection.Offset(, 7) = Val(日付)

【41626】Re:文字列を日付に変換する方法について
回答  Blue  - 06/8/17(木) 11:30 -

引用なし
パスワード
   ▼うくれれ さん:
>Dim 日付 As DATE
を Date 型 ではなく、文字型(String)にして

>Selection.Offset(, 7) = Val(日付)
でそのまま入れればいけませんかね?

Selection.Offset(, 7).Value = 日付

【41627】Re:文字列を日付に変換する方法について
発言  Blue  - 06/8/17(木) 11:42 -

引用なし
パスワード
   ちなみに、シリアル値を入れて、セルの書式の表示形式で
"H18.1.1" というようにする場合は

Dim s As String

s = "180101"
' CDateでDate型に変換できるように文字列を整形
s = "H" & Left$(s, 2) & "/" & Mid$(s, 3, 2) & "/" & Right$(s, 2)
With ActiveCell
  .Value = CDate(s)
  .NumberFormat = "ge.m.d"
End With

といった感じでしょうか。

【41628】Re:文字列を日付に変換する方法について
お礼  うくれれ  - 06/8/17(木) 12:11 -

引用なし
パスワード
   早速ありがとうございます!
完璧にできました。感動しました。

7032 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free