
vba 初心者です。
入力シートとデータシートがあり
入力シートのa1に氏名、a2に番号が入ります。
そのデータがデータシートのa1,b1に入りa2b2,a3b3と
順に蓄積していくように作りました。
そのデータの中から同じ名前のデータを呼び出すものを調べて作れたのですが
出来たら同じ名前の同じ番号の検索ができるようにしたいのですがやり方が難しすぎてわかりません。
番号は同じ名前のものなら重複するデータは入らないようになっています。
違う名前なら同じ番号も入ります。
どなたか教えていただけますでしょうか。
Private Sub CommandButton3_Click()
Dim rngSearch As Range
Dim myRange As Range
Dim strMsg As String
Dim strAdr As String
With ThisWorkbook
Set myRange = .Worksheets("データ").Columns(1)
Set rngSearch = myRange.Find(What:=.Worksheets("入力").Range("a1"), LookAt:=xlWhole) '完全一致
If rngSearch Is Nothing Then
'1件もヒットしなかったらメッセージを表示する
MsgBox "該当するデータはありません。"
Else
'1件目を文字列にセット
strMsg = strMsg & vbCrLf & rngSearch
'ヒットした値のセルを退避
strAdr = rngSearch.Address
Do
Set rngSearch = myRange.FindNext(rngSearch)
If rngSearch Is Nothing Then
Exit Do
Else
If strAdr <> rngSearch.Address Then
strMsg = strMsg & vbCrLf & rngSearch
End If
End If
Loop While rngSearch.Address <> strAdr
MsgBox strMsg
End If
End With
End Sub
No.2ベストアンサー
- 回答日時:
No1です
>もしよろしければその方法を教えていただけないでしょうか?
回答しようと思ったら、連呼してるみたいなので、そっちにおまかせした。
https://oshiete.goo.ne.jp/qa/11690990.html
方法は、No1の回答にすでに示してある通りなので、そのまま書けば良いだけだし…
No.1
- 回答日時:
こんばんは
変数 rngSearch にA列の一致したセルが取得できていると思いますので、取得したら、その行のB列の値と入力シートのA2セルの値を比較すれば良いと思われます。
rngSearch の右隣のセルは、rngSearch.Offset(,1) で取得出来ます。
あるいは、方法は変わってしまいますが、データシートの各行をループしてA列、B列の値がともに一致する行を探すという方法も考えられます。
こちらの方が考え方としては一般的かもしれません。
回答ありがとうございます。
>データシートの各行をループしてA列、B列の値がともに一致する行を探すという方法
もしよろしければその方法を教えていただけないでしょうか?
そちらの方が一般的であるのなら私も解りやすいと思うので。
よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELのSheet番号って変更でき...
-
マクロの「SaveAs」でエラーが...
-
Count Ifのセルの範囲指定に変...
-
VBA 空白行に転記する
-
VBA別シートの最終行の次行へ転...
-
VBA 別ブックからの転記の高速...
-
excel vbaで教えてください。(...
-
VBAで変数の数/変数名を動的に...
-
【Excel VBA】自動メール送信の...
-
集計して別シートに集計結果を出す
-
同じ処理を処理数分記述せず、...
-
Excel VBAで、散布図のデータ範...
-
excel vba 検索ボタン作成について
-
テキストボックスから、複数の...
-
楽天RSSからエクセルVBAを使用...
-
Excel VBA オートフィルターで...
-
vba初心者です。どなたか教えて...
-
VBA 最終行を選んだシートにコ...
-
エクセルVBAでご教示ください
-
Excel VBA マクロ データ抽出
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELのSheet番号って変更でき...
-
マクロの「SaveAs」でエラーが...
-
マクロ実行後に別シートの残像...
-
VBA 空白行に転記する
-
VBA別シートの最終行の次行へ転...
-
Count Ifのセルの範囲指定に変...
-
【VBA】データを各シートに自動...
-
Changeイベントで複数セルへの...
-
VBAで変数の数/変数名を動的に...
-
VBA 別ブックからの転記の高速...
-
Excel VBA オートフィルターで...
-
【VBA】特定の条件でセルをコピー
-
VBAでEXCELから固定長...
-
Excel2013で切り取り禁止
-
Unionでの他のシートの参照につ...
-
楽天RSSからエクセルVBAを使用...
-
100万件越えCSVから条件を満た...
-
ExcelのVBマクロを、バックグラ...
-
VBA 実行時エラー1004 rangeメ...
-
同じ作業(データコピー・貼付...
おすすめ情報