別のシート(sh1)に新しい値を見つけてそれをsheet2(sh2)に追加するコードがありますが、この前にマクロはいくつかの特定の値( "CONSULTANT I"、 " 「PROMOTER I」、「PROMOTER II」、「SALES PROMOTER I」)。私は新しい値としてのみフィルタリング結果(可視行)を考慮する必要があります、どのように私はこれを達成することができますか?可視セルのみをループする
ActiveSheet.ListObjects("TabLE1").Range.AutoFilter Field:=14, Criteria1:= _
Array("CONSULTANT I", "PROMOTER I", "PROMOTER II", _
"SALES PROMOTER I"), Operator:=xlFilterValues
Set Sh2 = ThisWorkbook.Worksheets("STAFF")
Set Sh1 = Workbooks("MIS25044.xlsb").Sheets(1)
ThisWorkbook.Activate
Lastrow = Sh2.Range("a65536").End(xlUp).Row
iRow1 = 2
'Loop through values in column A of Sheet2
Do
Set FindCell = Sh2.Range("a2", Sh2.Cells(Lastrow, "A")).Find(What:=Sh1.Cells(iRow1, "E"), _
After:=Sh2.Range("A2"), LookIn:=xlValues, LookAt:=xlWhole)
If FindCell Is Nothing Then
'add to bottom of list
Lastrow = Lastrow + 1
Sh2.Cells(Lastrow, "A") = Sh1.Cells(iRow1, "E")
End If
iRow1 = iRow1 + 1
Loop Until IsEmpty(Sh1.Cells(iRow1, "E"))
'Sh1.Rows(iRow1).Visible Then'の場合 – braX
正常に動作しませんでした。エラーメッセージが表示されます。 – Roca