質問編集履歴

1

FindNextを使用してみました。

2021/05/12 00:44

投稿

shogakusha
shogakusha

スコア12

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  VBAの「検索」ボタン押下で、「社員マスタ」シートを検索し、該当のレコードを取得して、「社員情報一覧」シートに一覧表示したいのですが、どのようにコードを書けば良いかわからず、悩んでいます。
6
6
 
7
- ElseIf箇所に、転記するコドを書けば良のでょうか
7
+ 以下よう実装したところ無限ルプになってしま
8
8
 
9
9
  アドバイスをいただけませんでしょうか。
10
10
 
@@ -34,13 +34,17 @@
34
34
 
35
35
 
36
36
 
37
- Dim c As Range
37
+ Dim FoundCell As Range
38
38
 
39
- Set c = sht_shain.Range("A2:O1000").Find(Range("E3").Value)
39
+ Set FoundCell = sht_shain.Range("A2:O1000").Find(Range("E3").Value)
40
40
 
41
41
 
42
42
 
43
+ Dim FirstCell As Range
44
+
45
+
46
+
43
- If c Is Nothing Then
47
+ If FoundCell Is Nothing Then
44
48
 
45
49
 
46
50
 
@@ -48,19 +52,31 @@
48
52
 
49
53
 
50
54
 
51
- ElseIf c Is Nothing Then
55
+ Else
52
56
 
53
-
57
+ Set FirstCell = FoundCell
54
58
 
55
- 'ここに何を入れたらいいか
59
+ FoundCell.Resize(1, 14).Copy sht_itiran.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0)
56
-
57
-
58
60
 
59
61
  End If
60
62
 
63
+ Do
64
+
65
+ Set FoundCell = Cells.FindNext(FoundCell)
66
+
67
+ If FoundCell.Address = FirstCell.Address Then
68
+
69
+ Exit Do
70
+
71
+ Else
72
+
73
+ FoundCell.Resize(1, 14).Copy sht_itiran.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0)
74
+
75
+ End If
76
+
77
+ Loop
78
+
61
79
 
62
-
63
-
64
80
 
65
81
  End Sub
66
82