Mid関数を使って日付から月をとりだすには?

解決


まぼろし  2005-05-02 20:47:51  No: 121399

たびたびお世話になります。

さっそくですが、次のソースを見てください。
b = Mid(txt日付.Text, 6, 7)
MsgBox "B=" & b
これを実行したところ
B=05/02
と表示されます。
B=05と表示させたいのですがどうすればいいのでしょうか?

ちなみに以下の場合はきちんと表示されます。
a = Mid(txt日付.Text, 1, 4)  'a=2005と表示される
c = Mid(txt日付.Text, 9, 10) 'c=02と表示される

※txt日付.TextにはDate関数でその日の日付がいれられています。


まぼろし  2005-05-02 20:58:23  No: 121400

サイトをよく見直してみると、
mid      n 番目から m 個の文字列を切り出し
と書いていました。^^;
私はn番目から、先頭からm番目までの文字列を切り出しと勘違いしてました。
お騒がせしました。


いな  2005-05-02 21:02:00  No: 121401

やはり・・・。
ここは素直に、Format関数を使われては?

環境が無いので、EXCEL(VBA)でしか試していないけど・・・。
MsgBox Format("2005/05/01", "mm")


いな  2005-05-02 21:03:16  No: 121402

確認している間に、解決してたか。


Say  2005-05-02 21:30:39  No: 121403

形式が"yyyy/mm/dd"と決まっているなら
MsgBox Split("2005/05/01", "/")(1)
も、アリかと。VBAですら試してないけど。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加