日本語入力ソフトとVBAの覚え書き

・各種日本語入力ソフトの辞書解説 ・ちょっと楽になるWord/Excel VBA集 ・ボーダーブレイク用語辞書

InputBox関数を数値を入力するまで繰り返す処理


f:id:dz_dzone:20170814233145j:plain

InputBox関数で数値だけを入力させたい場合の処理です。

  Do
    StrIB = InputBox("開始数字?")
  Loop Until IsNumeric(StrIB) = True
  • Do~Loopを後判定で実行しています
  • 後判定は最低1回は処理を実行します(この場合はInputBox関数)
  • Untilは条件が成立するまで。Whileにすると条件が成立している間ずっと、になります
  • IsNumeric関数は"数値に見えるもの"は全てTrueを返します

厳密に配列宣言する場合

  Dim m As Long
  Dim StrIB As String
    
  Do
    StrIB = InputBox("開始数字?")
  Loop Until IsNumeric(StrIB) = True
  
  m = CLng(StrIB)
  • InputBox関数の返り値はStringです
  • 実際には数値(Long型)として使いたいのでClng関数で型変換しています
  • 少数を使いたい場合はSingleやDoubleなど適宜変更して下さい

※ちなみに小数を入力してLong型に変換すると小数点第一位で四捨五入されます。


以上。

にほんブログ村 IT技術ブログ VBAへ←記事を気に入って頂けたらポチッとしてもらえると励みになります。