使用しているオブジェクトは
Combo1,Text1,Command1です。
General Declarations ----------------------------
Dim Sent()
Dim Count_no()
-------------------------------------------------
Private Sub Command1_Click() --------------------
Dim i
Dim Hyouji
For i = 1 To 3
If Combo1.Text = Sent(i) Then
Text1.Text = Count_no(i)
*******************************
Else
Text1.Text = Combo1.Text
*******************************
End If
Next i
End Sub
-------------------------------------------------
Private Sub Form_Load() -------------------------
Dim Sentence As String
Dim i
ReDim Sent(1 To 3)
ReDim Count_no(1 To 3)
For i = 1 To 3
Sentence = "Sentence" & i
Sent(i) = Sentence
Count_no(i) = i
Combo1.AddItem (Sent(i))
Next i
End Sub
-------------------------------------------------
以上のソースを書いています。
もし"Sentence2"が選択・Command1クリックされたらText1には"2"が表示され、
(ここまでは出来ました)
"12345"と入力・クリックされたら"12345"と表示されるようにしたいのですが、
配列以外の文字を入力した場合の条件(ソースの***内)を加えた途端
Combo1.TextがText1に表示されてしまいます。
条件の書き方が悪いのでしょうか?
ややこしい説明ですみませんが、わかる方、回答お願いします。
No.1ベストアンサー
- 回答日時:
たぶん上記のやり方では、ここまで出来たといわれてる
「"Sentence2"選択・Command1クリックされたらText1には"2"」
にはならないと思います。
Command1_Click部分を以下のように変えてみるのはどうでしょう?
変になったらごめんなさい。
--------------------------------------------
Private Sub Command1_Click()
Dim i
Dim Hyouji
Text1.Text = ""
For i = 1 To 3
If Combo1.Text = Sent(i) Then
Text1.Text = Count_no(i)
Exit For
End If
Next i
If Text1.Text = "" Then
Text1.Text = Combo1.Text
End If
End Sub
--------------------------------------------
ありがとうございます、できました~♪
変になったらだなんてとんでもない。
思っていた通りの結果が出ました。
Text1.Text=""とは・・・。目からウロコです。
そしてExit For・・・、iが100まであって、i=2あたりでSent(i)がヒットしたら
残りのループ数がムダだなぁ、と思っていたので大変ありがたいアドバイスでした。
また機会がありましたらよろしくお願いします(ペコリ)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) エクセル マクロ(A1:A10)までの中で一番多く出た数字をB10に表示 6 2023/04/25 17:01
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) userformでSheetを選択して開くコード 1 2023/05/15 16:27
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
for whichの使い方
-
「特になし」を英語で書くとき
-
日本語訳を!
-
no other~について
-
anyおよびnoの使い方について
-
次の問題の並べ替えをしてくだ...
-
次の並び替え問題を教えてくだ...
-
イマジンの歌詞のまちがい?
-
NO WAR NO ABE
-
誰か教えてください
-
VBA Scripting.Dictionary 連想...
-
noの後の語
-
イェイイェイイェイ イェイイェ...
-
前置可能な語句を含む複数の修...
-
不連続サブネットとEIGRPについて
-
差し込み後、元データを変更し...
-
フィルターかけた後、重複を除...
-
外部参照してるキーを主キーに...
-
エクセルで最後の文字だけ置き...
-
SQLで特定の項目の重複のみを排...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
for whichの使い方
-
エクセルVBAでEdate関数は使え...
-
誰か教えてください
-
There is not/ There is noの違い
-
次の並び替え問題を教えてくだ...
-
no other~について
-
「特になし」を英語で書くとき
-
there is no way to do/of doin...
-
knowledge on, about, of
-
英語で「もう2~3日待ってくだ...
-
UNI EN ISO 14001
-
no appleとno applesの違いは?
-
changeとexchangeのちがい
-
英語ができる方、問題をお願い...
-
イェイイェイイェイ イェイイェ...
-
この英文の訳し方がわかりませ...
-
I don't knowを I don't no と...
-
VBA Scripting.Dictionary 連想...
-
戦争反対を英語で?
-
次の並べ替え問題を教えてくだ...
おすすめ情報