No.2
- 回答日時:
こんにちは!
一例です。
>Enterキーで閉じる
とは「コマンドボタン」のCaptionが「閉じる」になっているとします。
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim c As Range
Set c = Worksheets("Sheet2").Range("A:A").Find(what:=TextBox1, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
TextBox2 = c.Offset(, 1)
Else
MsgBox "該当データなし", vbExclamation
End If
End Sub
Private Sub CommandButton1_Click()
Unload UserForm1
End Sub
とりあえずは上記コードでお望みの動きになると思います。
※ 余計なお世話かもしれませんが、個人的には
テキストボックス1に直接手入力ではなく、
コンボボックスにして、その中から選択 → テキストボックス2 に該当データ表示!
とする方がSheet2のA列にあるデータだけがコンボボックスのデータなので
入力間違いを気にする必要がないと思います。m(_ _)m
余計なお世話なんかではありません。
確かに仰る通り、コンボボックスでのやり方の方が入力間違いは起きません。ありがとうございます。
上記コードで動作確認したところ、
TextBox1に入力した後、TextBox2にカーソルが動いてしまい
Enterキーを2度、押さないと閉じません。
1度で閉じることは出来ますでしょうか?
また、該当データなし の時に
メッセージ→Enter (OK)→Enter(TextBox2)→Enter(コマンドボタン)→→Enter(閉じる)とEnterキーを4回も押さなければなりません。
該当データなし の時は
TextBox1の内容を消去してカーソルをTextBox1に戻したいです。
(ユーザーフォームは消さない)
宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
No.2です。
当方の力不足でごめんなさい。
テキストボックスの操作で自身を空白にできても、SetFocusする方法が判りません。
(コマンドボタンの操作では可能です)
そこでこのままでは申し訳ないので、前回回答したコンボボックスの方法にしてみました。
ユーザーフォーム1にコンボボックスを挿入(テキストボックス1は消去しておく)した上で
↓のコードにしてみてください。
Dim i As Long
Dim c As Range, wS As Worksheet
Private Sub UserForm_Initialize()
Set wS = Worksheets("Sheet2")
For i = 2 To wS.Cells(Rows.Count, "A").End(xlUp).Row
ComboBox1.AddItem wS.Cells(i, "A")
Next i
End Sub
Private Sub ComboBox1_Change()
Set wS = Worksheets("Sheet2")
Set c = wS.Range("A:A").Find(what:=ComboBox1, LookIn:=xlValues, lookat:=xlWhole)
TextBox2 = c.Offset(, 1)
End Sub
Private Sub CommandButton1_Click()
Unload UserForm1
End Sub
※ この程度しか思いつきません。
どうも失礼しました。m(_ _)m
コンボボックスでのマクロを作成していただき有難うございます。
当方、マクロのことは良く判らないのですが
前回、教えていただいたマクロに
判らないながらにも追加してみましたら
やりたいことができました。
If Not c Is Nothing Then
TextBox2 = c.Offset(, 1)
'追加
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(TextBox1)
End With
Else
'追加
TextBox1.Value = ""
Cancel = True
End If
ご丁寧に有難う御座いました。
機会がありましたら、またお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) VBA 別sheetからの転記なのですが 2 2023/05/22 15:55
- Excel(エクセル) エクセルで30日以内に同内容の入力があったら色を付ける 2 2023/03/04 12:32
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/20 14:46
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
条件に応じてコンボボックスの...
-
Access レポート印刷するときに...
-
YahooのIDがロックされてしまい...
-
ACCESS 帳票フォームとデータ...
-
passwordが入れられません・・・・
-
データベースのINT型項目にNULL...
-
Accessで、フォームからフォー...
-
EXCEL VBAのユーザーフォームに...
-
エクセルをACCESSのレポ...
-
iphoneのフルスクリーンの解除方法
-
アクセスのレポート合成(複数...
-
レコードを保存するコード ア...
-
Accessフォームからパラメータ...
-
クエリで出来た表にチェックボ...
-
Accessのレポートで印刷プレビ...
-
年月日を持つテーブルから年月...
-
ACCESS チェックしたも...
-
アクセスのテキストボックスの...
-
Access2010、値を入力したら自...
-
アクセスで数値型のフィールド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
条件に応じてコンボボックスの...
-
コンボボックス 選択後のカー...
-
VBA コンボボックスの重複削除
-
Dcount関数が表示されない。
-
Access 数十件のデータからの...
-
CrystalDiskinfoの使い方!HDD/...
-
Access 2016 のプロパティ(プル...
-
Accessのコンボボックス内項目...
-
エクセルVBA コンボボックスで...
-
4月開始年度の月と日を連動さ...
-
ACCESS2003のコンボボックスで...
-
access 検索結果をテキストボッ...
-
java初心者です。
-
ActiveXコントロールのコンボボ...
-
Accessで、コンボボックスから...
-
ユーザーフォーム上にあるコン...
-
【Access2010】フォーム内のコ...
-
Accessで家計簿を作っているの...
-
エクセルVBAユーザーフォー...
-
ドロップダウンリスト
おすすめ情報