VB6で計算できるようなプログラムを作っています。
今3つのテキストボックスを作っています。そこにそれぞれ数字を入れてボタンを押すと計算結果が4つ目のテキストボックスに表示されるよう にしたいのです。
そこで質問したいのですが
(1)
3つのテキストボックスすべてが入力されるまで変換ボタンを使用できない(押せない)ようにするのはどのようにしたらいいのでしょうか?
(2)
3つのテキストボックスに入力された文字が数字以外の場合エラーメッセージ(数字を入力してくだい)と言う表示を出したい場合どのようにしたらいいのでしょうか?
上記の質問についてお解かりの方は、ぜひとも説明と方法を教えていただければと思っていますよろしくお願いします。
No.3ベストアンサー
- 回答日時:
(2)
数値以外の入力ができない様にするというのは駄目ですか?
Private Sub Text1_KeyPress(KeyAscii As Integer)
Do
If KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Then
Exit Do
End If
Select Case KeyAscii
Case vbKeyBack
Exit Do
Case vbKeyReturn
Exit Do
End Select
KeyAscii = 0
Loop While (0)
End Sub
No.2
- 回答日時:
プログラムは色々な書き方が考えられます。
私は、素人ですので<素人ながらの書き方>を紹介しておきます。
・cmdStart で初期化し、cndExecute で計算を実行するという設定です。
・Change イベントを利用しても構いませんが、その場合は一桁目のマイナス符号の処理を追加する必要があります。
Private Sub cmdStart_Click()
Me.cmdExecute.Enabled = False
Me.Text1 = ""
Me.Text2 = ""
Me.Text3 = ""
Me.Text4 = ""
End Sub
Private Sub Text1_LostFocus()
入力チェック Me.Text1
End Sub
Private Sub Text2_LostFocus()
入力チェック Me.Text2
End Sub
Private Sub Text3_LostFocus()
入力チェック Me.Text3
End Sub
Public Sub 入力チェック(ByVal ctl As Control)
If IsNumeric(ctl) Then
'
' Text1,2,3 の全てが空でなければ cmdExecute ボタンの Enabled の値を真に設定します。
'
Me.cmdExecute.Enabled = Len(Me.Text1 & "") * Len(Me.Text2 & "") * Len(Me.Text3 & "") > 0
Else
'
' 入力された桁数が0以上のみチェック
'
If Len(ctl & "") > 0 Then
MsgBox "数字を入力して下さい"
End If
End If
End Sub
No.1
- 回答日時:
1.if (Text1.text="") or (Text2.text="") or
(Text3.text="") then Button1.Enabled=False
2.VB6の場合 if isNumeric(Text1.text)=False
then MsgBox "数字を入力して下さい"
VB.NETの場合
Private Function IsDigit(ByVal Value As String) As Boolean
Dim K As Long
If Len(Value) = 0 Then
IsDigit = False
Exit Function
End If
For K = 1 To Len(Value)
If Not Mid(Value, K, 1) Like "[0-9]" Then Exit Function
Next K
IsDigit = True
End Function
参考URL:http://homepage1.nifty.com/rucio/main/technique/ …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- その他(パソコン・スマホ・電化製品) ワードでテキストボックス内の文字を連動させない方法 2 2023/02/09 16:56
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- Excel(エクセル) エクセルシートの合計の変動 5 2022/04/05 15:56
- JavaScript HTMLでJavaScriptを使用してプログラムを作ります。 入力されたパスワードを取得して、パス 2 2022/10/18 01:05
- その他(Microsoft Office) エクセルのマクロを教えてください。 1 2023/01/27 09:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでテキストボッ...
-
Excel ユーザーフォームで計算 ...
-
sublimit textっていうエディタ...
-
Excel VBAでsub,dimは何の略?
-
Functionの戻り値を配列にした...
-
プログラムの素朴な質問です 分...
-
VBA public変数はどのようなこ...
-
エクセルVBAついて ①if•••••the...
-
「ずっと憧れていました」は英...
-
Excel vba で複数のテキストの...
-
VBAでcallで呼び出したsubを終...
-
Matlabでsin波を使って矩形波を...
-
ClickとChangeイベントの違いは...
-
Can you text me your business...
-
共有フォルダの「共有のアクセ...
-
vb2010webページのリンクをクリ...
-
texで図と表を並べたい
-
Verilogの文法
-
FlexGridで文字色を変更。
-
String型の値にスラッシュをつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでテキストボッ...
-
VBAで入力数値について
-
ユーザーフォームへのデータ入...
-
アクセスできない保護レベルエ...
-
【VB.NET】テキストボックスに...
-
visual basic初心者です。 visu...
-
Excel ユーザーフォームで計算 ...
-
コンボボックスからテキストボ...
-
テキストボックスを空白にする方法
-
【C#】コンボボックスにおけるS...
-
VBAのユーザーフォームで、テキ...
-
テキストボックスに大文字を
-
テキストボックス1の値に対する...
-
テキストボックスとカーソルの制御
-
整数かどうかチェックする
-
Vba テキストボックスの文字列...
-
VBAのフォーム カーソル移動
-
VBSのプログラム
-
ACCESS 除算での小数点切上げ方法
-
TextBoxの内容を右寄せ
おすすめ情報