はじめまして。なうと申します。
下記の件に関して、アドバイス等いただければ幸いです。
現在、セルの値から年月を取得したいのですが、想定どおりいかず困っています。
例)
セルの値:2009.3.7
取得したい値:0903
色々試して
MyDate = Range("A1")←2009.3.7
MyShortDate = CDate(Replace(MyDate, ".", ","))
MsgBox (MyShortDate)
MsgBox (Year(MyShortDate))
MsgBox (Month(MyShortDate))
として、年月の取得までは出来たのですが、年の後ろ2文字、月の桁が1桁なら0をつける、といった処理を行いたいのですが、Lengthが使えなかったり、Leftが使えなかったりで上手く出来ません。
勉強し始めたばかりで分からないことばかりなので、間の抜けた問題なのかも知れませんが、アドバイスいただけますよう、お願いします。
読み込んだデータに対して年の最初の2文字を削除し
月が9以下なら"0"を追加してます。
Dim MyDate As String = "2009.9.7"
Dim DateArray() As String
'読み込んだデータを「.」で区切る
DateArray = MyDate.Split(".")
'年の最初の2文字削除
Dim Year As String = DateArray(0).Remove(0, 2)
Dim intMonth As Integer = DateArray(1)
Dim Month As String
'月が9以下ならば"0"を追加
If intMonth < 10 Then
Month = DateArray(1).Insert(0, "0")
Else
Month = intMonth
End If
MsgBox(Year & Month)
>MsgBox (Year(MyShortDate))
>MsgBox (Month(MyShortDate))
>として、年月の取得までは出来たのですが、年の後ろ2文字、月の桁が1桁なら0をつける、といった処理を行いたいのですが、Lengthが使えなかったり、Leftが使えなかったりで上手く出来ません。
バージョンがわかりませんが、Formatで書式指定すればいいと思います。
MsgBox(Format(MyShortDate, "yy"))
MsgBox(Format(MyShortDate, "MM"))
ツイート | ![]() |