我目前使用自動篩選器對兩列進行篩選。如果自動過濾器的結果僅對可見單元格爲空,則會添加一個新行。如果找到除標題以外的任何行,則它將顯示一個MsgBox。問題是行數總是返回1.我嘗試用幾種方法重新定義「rng」無濟於事。Excel VBA - 自動篩選的行數總是返回1
Dim ws As Worksheet
Dim rng As Range
Set ws = Sheets("Scored Items")
Worksheets("Scored Items").Activate
ws.AutoFilterMode = False
With ws
.Range("A:D").AutoFilter Field:=1, Criteria1:=AssetBox.Text
.Range("A:D").AutoFilter Field:=4, Criteria1:=PartBox.Text
Set rng = .Range("A:A").SpecialCells(xlCellTypeVisible)
If (rng.Rows.Count = 1) Then
'Add new row based on VBA form
Else
MsgBox "Item has already been scored"
End If
End With
ws.Cells.AutoFilter
此解決方案也運作良好,並且有點乾淨。謝謝! – Sedako
不客氣Sedako!很高興它對你有效。 – sktneer