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

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

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

用意するフォーム


用意するコントロール

  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関数で整形するという流れです。

 

 

ダウンロード

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

今回使用した関数

Format関数についてはこちら

文字の書式を変換【Format関数】
文字の書式を変換【Format関数】Excel VBA の Format 関数を紹介します。Format 関数は値を指定した書式に変換します。例:2017/1/1→平成29年1月1日などformat関数は便利...
DateSerial関数についてはこちら
Dateserial関数
DateSerial 関数DateSerial 関数DateSerial 関数は引数に指定された年、月、日に対応する三つの数値をもとに日付を返します。DateSerial書式DateSerial関数の書式は以下...
Left関数・Right関数・Mid関数についてはこちら
文字列を操作する1【Left関数・Right関数・Mid関数】
文字列を操作する1【Left関数・Right関数・Mid関数】セルに入力されている文字列を条件で抜き出す関数をご紹介していきます。Left関数・Right関数・Mid関数は使い方や使...

ブログの購読・ブログランキング

 

【E-VBA】の更新通知を受け取る場合はこちら↓


【E-VBA】はブログランキングに登録しています(∩´∀`)∩

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

人気ブログランキングへ

ファイルやコードの利用について

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

コメントを残す

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

ABOUTこの記事をかいた人

あることがキッカケでVBAを独学で勉強している、非IT企業の会社員。 今はVBAで出来ることを模索しながら別の開発言語の取得、基本情報技術者試験合格が目標