Excel VBA質問箱 IV

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

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


12216 / 13646 ツリー ←次へ | 前へ→

【11635】文字列を変更して日付の表示にしたい みゅう 04/3/12(金) 16:17 質問
【11638】Re:文字列を変更して日付の表示にしたい りん 04/3/12(金) 16:49 回答
【11723】Re:文字列を変更して日付の表示にしたい みゅう 04/3/15(月) 13:22 お礼

【11635】文字列を変更して日付の表示にしたい
質問  みゅう  - 04/3/12(金) 16:17 -

引用なし
パスワード
   こんにちは。

"B1" には、"H16. 3.12" という文字列が入っています。
"3"の前のスペースを取って、"yyyy/mm/dd"で表示させたいのです。

' 前半3行は、置換をマクロ記録したそのままです(^^;
Range("B1").Select
Cells.Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:= _
   xlByRows, MatchCase:=False
Range("B1").NumberFormat = "yyyy/mm/dd"

としても"H16.3.11"と表示されるだけになってしまいます。
後からこのセルにカーソルを置いてからエンターを押し直せば、うまく表示されるのですが・・・。

どなたかご教授下さい。
よろしくお願いします。

【11638】Re:文字列を変更して日付の表示にしたい
回答  りん E-MAIL  - 04/3/12(金) 16:49 -

引用なし
パスワード
   みゅう さん、こんにちわ。

>"B1" には、"H16. 3.12" という文字列が入っています。
>"3"の前のスペースを取って、"yyyy/mm/dd"で表示させたいのです。
>としても"H16.3.11"と表示されるだけになってしまいます。

ぜんぜん違う方法ですが。

Sub test()
  With Range("B3")
    .NumberFormat = "yyyy/mm/dd"
    .Value = DateValue( _
        Application.WorksheetFunction.Substitute(.Value, ".", "-"))
  End With
End Sub

こんな感じです。
DateValue関数で数値に変更します。

【11723】Re:文字列を変更して日付の表示にしたい
お礼  みゅう  - 04/3/15(月) 13:22 -

引用なし
パスワード
   りん さん、ありがとうございました。

うまくいきました。
VBA初心者なので、これから調べてりんさんの方法について理解します。(^^)q

速攻返信頂いていたのに、お礼が遅くなってすみませんでした m(_ _)m

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