![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
テキストボックス(任意の数)とコマンドボタンを1つだけ用意したフォームを作ってテストしてみました。
こんなのでどうでしょう?
VB5.0で作成しました。
コマンドボタンが押されるときに、テキストボックスの中身をチェックする仕組みになっています。
Option Explicit
Private Sub Command1_Click()
MsgBox "Good Job!"
End Sub
Private Sub Form_Load()
Dim i As Integer
For i = 0 To Text1.UBound
Text1(i).Text = ""
Next i
End Sub
Private Sub Text1_LostFocus(Index As Integer)
Dim i As Integer
Dim blnFlg As Boolean
If ActiveControl.Name = "Command1" Then
blnFlg = True
For i = 0 To Text1.UBound
If Text1(i).Text <> "" Then
blnFlg = False
Exit For
End If
Next i
If blnFlg Then
MsgBox "Input Error"
Text1(0).SetFocus
End If
End If
End Sub
こんにちは。早速ご回答ありがとうございました。
私が作ったコードでは、カウンタ内でフラグをたてているのに、
Exit For をしていませんでした。
修正して、動作確認しました。
これからもっともっと勉強していきたいと思います。
本当にありがとうございました。
No.3
- 回答日時:
おはようございます。
蛇足ながら、なぜうまく行かなかったのかを
下のKai_PGさんのコードを例に考えてみます。
ポイントは判定ループ内ですが、
> For i = 0 To Text1.UBound
> If Text1(i).Text <> "" Then
> blnFlg = False
> Exit For
> End If
> Next i
(1)判定フラグをTrueで初期化しなかった。
(blnFlg = True)
これをやらないと、トラップできませんね。
(2)判定のIf文にElseをつけて blnFlg = False とやって、
Exit For をしていなかった。
せっかく入力済みのテキストボックスを見つけても、
次に空白があるとフラグが真になってしまいます。
すでにお分かりかと思いますが、丸写しではなく、
是非oohchanさんがお書きになったコードと比較されて、
どこが悪かったのかをお考えになって、
そのコードを修正するようにしてみましょう。
oohchanさんのスキルアップの少しでもお役に立てたら幸いです。
こんにちは。早速ご回答をありがとうございました。
私が作ったコードでは
(2)でご指摘いただいた通り、Exit Forをしていませんでした。
修正して、動作確認できました。
本当にありがとうございました。これからどんどん勉強していきたいと
思います。
No.1
- 回答日時:
配列をどのように使おうとされたのでしょうか? どこでどう使っているかによってアドバイスが変わってきますので、お願いします。
たとえば、不明だと思われる点ですが、「テキストの入力チェックのタイミング」です。どのタイミングでチェックしたいのでしょうか? コマンドボタンを押したときでしょうか? テキストボックスからフォーカスが移動した瞬間でしょうか?
補足をお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelで文字列をtextboxにcopy 2 2022/07/16 22:00
- Visual Basic(VBA) Excel VBA ユーザーフォーム内のラベルにテキストボックスの小計を出す方法 5 2022/08/17 14:27
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- Visual Basic(VBA) Vba Textboxの文字列の結合を速くする方法 6 2022/05/10 00:56
- Excel(エクセル) Excelの列から検索して該当する行を別シートに転記するVBA 2 2022/12/20 09:35
- Excel(エクセル) Excelのtextbox 1 2022/04/15 15:26
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Visual Basic(VBA) Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。 2 2023/07/14 14:06
- Excel(エクセル) Excel 記入欄に網掛けして、文字が入力されたら網掛けが消える設定 5 2023/02/05 11:00
- Visual Basic(VBA) Excel VBA ユーザーフォーム内のラベルにテキストボックスの計算結果を出す方法 5 2022/08/18 11:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスできない保護レベルエ...
-
VBAで入力数値について
-
エクセルVBAでテキストボッ...
-
ACCESS VBA 文字抽出について ...
-
visual basic初心者です。 visu...
-
VB2005テキストボックスへのコ...
-
VBでの入力値制限について
-
VB.NETでのイベントの途中終了
-
VBAでcallで呼び出したsubを終...
-
C言語のサフィックスについて
-
C#のループでtextboxに値を入れ...
-
vb.net 文字コードから漢字へ変換
-
他のフォームから別のフォーム...
-
レコードセットにnullの場合
-
パーソナルXLSBのfuctionを呼び...
-
タイムアウトする仕組みを作りたい
-
WORd VBA 文章を単語に分解する
-
リストビューの列ヘッダーの幅...
-
構造体のコピー
-
subsequentとnextの違いってな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでテキストボッ...
-
アクセスできない保護レベルエ...
-
VBAで入力数値について
-
【VB.NET】テキストボックスに...
-
VBでの入力値制限について
-
テキストボックスに大文字を
-
visual basic初心者です。 visu...
-
ユーザーフォームへのデータ入...
-
Excel ユーザーフォームで計算 ...
-
コンボボックスからテキストボ...
-
VBAのフォーム カーソル移動
-
テキストボックスを空白にする方法
-
VB2010 TextBoxの数字の表示...
-
【C#】コンボボックスにおけるS...
-
VBでローマ字入力とかな入力を...
-
VB2005テキストボックスへのコ...
-
VBAのユーザーフォームで、テキ...
-
整数かどうかチェックする
-
Xcodeのテキストボックスの値に...
-
VB.NETのテキストボックスで、...
おすすめ情報