前提・実現したいこと
VBAの「検索」ボタン押下で、「社員マスタ」シートを検索し、該当のレコードを取得して、「社員情報一覧」シートに一覧表示したいのですが、どのようにコードを書けば良いかわからず、悩んでいます。
以下のように実装したところ、無限ループになってしまいました。
アドバイスをいただけませんでしょうか。
よろしくお願いいたします。
該当のソースコード
VBA
1Sub Kensaku_Click() 2 3 Dim sht_shain As Worksheet 4 Set sht_shain = Worksheets("社員マスタ") 5 6 Dim sht_itiran As Worksheet 7 Set sht_itiran = Worksheets("社員情報一覧") 8 9 Dim FoundCell As Range 10 Set FoundCell = sht_shain.Range("A2:O1000").Find(Range("E3").Value) 11 12 Dim FirstCell As Range 13 14 If FoundCell Is Nothing Then 15 16 MsgBox "検索対象が見つかりませんでした。" 17 18 Else 19 Set FirstCell = FoundCell 20 FoundCell.Resize(1, 14).Copy sht_itiran.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0) 21 End If 22 Do 23 Set FoundCell = Cells.FindNext(FoundCell) 24 If FoundCell.Address = FirstCell.Address Then 25 Exit Do 26 Else 27 FoundCell.Resize(1, 14).Copy sht_itiran.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0) 28 End If 29 Loop 30 31End Sub
試したこと
キーワードを探して、対象が見つからない場合はメッセージを出すように書いてみました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/12 00:45