数値だけが入力できるTextBoxを作成する方法



The following two tabs change content below.
アバター

taka

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

数値だけが入力できるTextBoxを作成する方法

どうも、takaです、今回は数値だけが入力できるTextBoxを作成する方法をご紹介します。

用意するフォーム

今回はTextBoxを一つだけ用意する簡単なフォームで実践していきましょう。

  1. TextBox1

だけです。

数値だけ入力するようにするコード

今回のコードの説明をしていきます。下記のような形で動いています。

  1. フォームの読み込み時にIMEModeを使用禁止にする。
  2. キーが押されたときに発生するイベントKeyPressを使用し、【文字コードから文字列を返すChr関数】を使用して押されたキーを判定
  3. 2のままだと文字列をペーストされたときに対応できないため。Changeイベントにて【数値であるか判定するIsNumeric関数】を使用してペーストされた値が文字列かを判定する

このような流れをそって判定させています。入力を制限したい場合などの時に使用してください(。-∀-)

Private Sub UserForm_Initialize()
'①ユーザーフォームが読み込まれた時点でTextBoxのIMEModeを指定
TextBox1.IMEMode = 3
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
 '②キーが押されたときに発生するイベントKeyPressを使用
     'Chr関数で押されたキーを判定
    If Chr(KeyAscii) < "0" Or Chr(KeyAscii) > "9" Then
        KeyAscii = 0
    End If
   
End Sub

Private Sub TextBox1_Change()
'③ペーストなどで文字列が入力された場合はTextBoxの値を空欄にする
If IsNumeric(TextBox1.Text) = False Then
TextBox1.Text = ""
Exit Sub
End If

End Sub

 

ダウンロード

当サイトの免責事項をお読みになってからお使いください。

 

フォロー・チャンネル登録お願いします

VBA以外についてのブログはこちら↓

https://yb-log.com/

■Twitterフォロー

■YouTubeチャンネル登録

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

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

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

コメントを残す

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