|
初めて投稿させて頂きます。
入力フォーム上にあるテキストボックスへ入力された情報を、入力後に即座にシートに反映させる動きをさせたいと思っています。
しかし、実際に動作させた際に、入力情報が反映される場合とされない場合があり、その違いが当方では判別出来ません。
私のプログラムの作り方に問題があるのでしょうか?
それとも、Excelの仕様等で、そのような事が起こるのでしょうか?
以下にコードを記載します。
お気付きの点等ありましたら、ご指摘頂ければと思います。
宜しくお願い致します。
Private Sub TextBoxA_AfterUpdate()
If 数値入力チェック(TextBoxA.Value, itemName) = False Then
'入力チェックエラーの場合
'入力情報をクリアする
TextBoxA.Value = ""
'フォーカスを元に戻す
Cancel = True
Else
'入力情報をシートに設定する
Worksheets(sheetName).Range(inputCell).Value = TextBoxA.Value
End If
End Sub
Function 数値入力チェック(target As String, itemName As String) As Boolean
'数値以外が入力されている場合はメッセージを表示する
If IsNull(target) = False And target <> "" And IsNumeric(target) = False Then
'数値以外が入力されている場合
'メッセージを表示する
MsgBox (itemName & "には数値を入力して下さい。")
'戻り値をFalseに設定する
数値入力チェック = False
Exit Function
End If
'戻り値をTrueに設定する
数値入力チェック = True
End Function
|
|