回答編集履歴

2

誤字の修正

2019/07/09 09:44

投稿

Secret
Secret

スコア220

test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  試しにオートフィルの条件をパイナップルだけにしてみてください。
18
18
 
19
- 7行の弥中だけが表示されるはずです。
19
+ 7行の弥中だけが表示されるはずです。
20
20
 
21
21
 
22
22
 

1

誰でも動くコードを追加

2019/07/09 09:44

投稿

Secret
Secret

スコア220

test CHANGED
@@ -27,3 +27,63 @@
27
27
  という1行は削除できますし、nの宣言も不要です。
28
28
 
29
29
  ForとFor Eachの違いを確認されると良いでしょう。
30
+
31
+
32
+
33
+ ついでに、質問者さんのコードだと他の人は実行しても動きません。
34
+
35
+ 念のために、誰でも動くコードを書いておきます。
36
+
37
+ ```VBA
38
+
39
+ Option Explicit
40
+
41
+
42
+
43
+ Private Sub cmd_start_Click()
44
+
45
+
46
+
47
+ Dim r As Range, rr As Range, rs As Range 'Visibleセルを取得する変数
48
+
49
+
50
+
51
+ 'オートフィルタをセット
52
+
53
+ Rows("1:1").Select
54
+
55
+ Selection.AutoFilter
56
+
57
+ ActiveSheet.Range("A1").AutoFilter Field:=1, Criteria1:=Array( _
58
+
59
+ "パイナップル"), Operator:=xlFilterValues
60
+
61
+
62
+
63
+ 'オートフィルタの結果から担当者の名前をメッセージボックスで表示
64
+
65
+ Set r = Range("C2", Range("C" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible)
66
+
67
+
68
+
69
+ 'r:A1~データの存在する最大行セルまでの範囲(表示されているセルのみ)
70
+
71
+ 'rr:A1~データの存在する最大行セルまで、A1から1つずつ格納される
72
+
73
+ For Each rr In r
74
+
75
+ 'rsへ選択セルの値を格納
76
+
77
+ For Each rs In rr.Areas
78
+
79
+ MsgBox (rr)
80
+
81
+ Next
82
+
83
+ Next
84
+
85
+
86
+
87
+ End Sub
88
+
89
+ ```