No.1ベストアンサー
- 回答日時:
良くある普通のニーズだと思いますが、結構、浅学の私には難しいでした。
色んな知識の動員が必要でした。UserForm1に、検索条件を入れるTextBox4、
該当した行のB,C,D列表示用の、TextBox1、TextBox2,TextBox3の3つ(計4つ)を設けます。
コマンドボタンを1つ(Captionは「検索・次検索」)設けます。検索・次検索ボタンです。
標準モジュールに
Public ac As Range
Public startaddr As String
変数の次ステップ(イベント)への受け渡し用です。
UserForm1のコマンドボタンのクリック・イベント・プロに
Private Sub CommandButton1_Click()
Dim r As Range
If ac Is Nothing Then
d = Range("A65536").End(xlUp).Row
With ActiveSheet.Range(Cells(1, "A"), Cells(d, "A"))
Set r = .Find(what:=TextBox4)
rr = r.Row
TextBox1.Text = Cells(rr, "B")
TextBox2.Text = Cells(rr, "C")
TextBox3.Text = Cells(rr, "D")
Set ac = r
r.Activate
MsgBox ac.Address
startaddr = ac.Address
Exit Sub
End With
Else
MsgBox ac.Address
d = Range("A65536").End(xlUp).Row
MsgBox d
With ActiveSheet.Range(Cells(1, "A"), Cells(d, "A"))
Set r = .FindNext(ac)
rr = r.Row
TextBox1.Text = Cells(rr, "B")
TextBox2.Text = Cells(rr, "C")
TextBox3.Text = Cells(rr, "D")
Set ac = r
r.Activate
If r.Address = startaddr Then TextBox1.Text = "終わり"
Exit Sub
End With
End If
End Sub
MsgBoxは私の苦難のあとですが、要らないでしょうから、確認後には抹消して結構です。
あと
(1)イベント間の変数の受け渡し
(2)細部にわたる体裁を好みにあわす
がありますが、(1)で、ベターなやり方がよくわかっていません。
念のため上げておきます。私のストデータ(特に重複出現)はA-D列
Bs1x
Ad2y
Cd3u
Gd4j
Vf5h
Bg6z
Kh7s
Axx32ff
Cqq23yu
Ayy2ss
のようなのを使い、A列データをTextBox4に「A]を入れて、テスト検索して確認してみました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。 2 2023/07/14 14:06
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) ExcelのVLOOKUP関数 7 2022/08/23 06:46
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- Excel(エクセル) Excelの列から検索して該当する行を別シートに転記するVBA 2 2022/12/20 09:35
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
エクセルで検索結果をユーザーフォームに表示したいのですが
Excel(エクセル)
-
エクセルVBA ユーザーフォームのTextBoxを日付にしたい
Excel(エクセル)
-
エクセルVBA テキストボックス検索
Excel(エクセル)
-
-
4
Excel VBAのユーザーフォームでVLOOKUP
Visual Basic(VBA)
-
5
Excel VBA でテキストボックスの値をセルA列から検索
その他(プログラミング・Web制作)
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
VBA 複数のセルの値をテキストボックスに表示する
Excel(エクセル)
-
8
エクセルVBA「リストボックスで選択した値をテキストボックスで変更してシート上セルに反映したい」
Excel(エクセル)
-
9
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
10
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
11
Form間の値の渡し方
Visual Basic(VBA)
-
12
ExcelのComboboxでマウスのスクロールを有効にしたい
Excel(エクセル)
-
13
ユーザフォームを使ってのデータの書き換え(エクセル)
Visual Basic(VBA)
-
14
ユーザーフォームへのデータ入力を繰り返す方法
Visual Basic(VBA)
-
15
Excel内での検索結果をシートに出力したい
Excel(エクセル)
-
16
エクセルVBA 別シートからのコンボボックス連動
Visual Basic(VBA)
-
17
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
18
Excelにて、ユーザーフォームで、日付けの範囲を指定し、検索しデーターを抽出し 別シートへ転記した
Excel(エクセル)
-
19
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
20
エクセルVBAリストボックスに表示された検索結果をクリックして、該当するセルをアクティブセルにしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WEB上の表の列コピー選択方法は?
-
エクセルで作成した縦に長い表...
-
【エクセル】行挿入で数式もい...
-
一つのシートの中に複数のペー...
-
メモ帳からエクセルに貼り付け...
-
Excelで検索結果をテキストボッ...
-
エクセルVBAで、行コピーを複数...
-
Excelピボットテーブルで 総計...
-
オートフィルタのリストを順番...
-
エクセルのリストから欠番を拾...
-
ピボットテーブル→参照が正しく...
-
Excelの数式のコピーで列移動で...
-
エクセルの列幅
-
エクセルの関数の使い方 繰越...
-
エクセルで空白行に上の行のデ...
-
マクロの記述をもっとシンプル...
-
Excel 表から値をさがして隣の...
-
Excel2010で行ごとの重複削除
-
ACCESSのデータをEXCELに貼り付...
-
エクセルに詳しい方、助けてく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一つのシートの中に複数のペー...
-
WEB上の表の列コピー選択方法は?
-
オートフィルタのリストを順番...
-
【エクセル】行挿入で数式もい...
-
エクセルで作成した縦に長い表...
-
Excelの数式のコピーで列移動で...
-
ピボットテーブル→参照が正しく...
-
Excelピボットテーブルで 総計...
-
エクセルVBAで、行コピーを複数...
-
メモ帳からエクセルに貼り付け...
-
Excel 表から値をさがして隣の...
-
エクセルのリストから欠番を拾...
-
エクセルの列幅
-
エクセルの関数の使い方 繰越...
-
エクセルに詳しい方、助けてく...
-
PDFからExcelに変換する時に「...
-
一太郎にエクセルの表を貼り付...
-
Excelで検索結果をテキストボッ...
-
エクセル シートのコピーをリ...
-
VBA csvを100万行ずつ各...
おすすめ情報