VBA TextBoxに入力された8桁の数値を日付に変換する



The following two tabs change content below.

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

どうも、takaです(^^♪

さて、データを入力するときに日付って入力するの面倒くさくないですか?

2017/1/1のように【/】を途中に入力しないといけないわけですから・・・

なので、今回は前回紹介した【Format関数】を使用して、TextBoxに入力された【20170101】のような8桁数字を日付形式【2017/01/01】に変換する方法をご紹介します。

TextBoxに入力された数値を日付に変換する方法

今回用意するフォーム


用意するコントロール

  1. 【TextBox1】

日付変換するコード

コードの解説

では上記のコードの解説をしていきます。

まずイベントはTextBoxの【Change】を使用して、入力されるたびにデータを認識します。

そして【If TextBox1.Value >= 20000101 And TextBox1.Value <= 20991231 Then】で数値内であるのかを確認することにより。8桁の数値であるのかを認識します。

ここで変換のコードですが、このコードには

  1. Format関数
  2. DateSerial関数
  3. Left関数
  4. Mid関数
  5. Right関数

の五つの関数が使われており。それぞれの関数を組み合わせることによって日付に変換させることができます。

解説すると、DateSeria関数の引数にたいしてLeft関数・Right関数・Mid関数のそれぞれの関数で指定しそれをFormat関数で整形するという流れです。

ダウンロード

今回ご紹介したフォームは以下にてダウンロードできます。

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Twitterフォロー

 

Twitterもやってます(^^♪Excelについてはあまり触れませんがブログの更新のお知らせはツイートしています(^^♪

Twitterフォロー

 



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です