0
我有一個Excel表(24列,5000行)。在VBA中,我篩選該表根據性判據(目前我用硬編碼cretiria值試圖測試代碼),找到一行:Excel VBA - 獲得多個過濾器後的列值
With Worksheets("test")
.AutoFilterMode = False
With .Range("A1:X1")
.AutoFilter
.AutoFilter Field:=2, Criteria1:="2024"
.AutoFilter Field:=3, Criteria1:="T351"
.AutoFilter Field:=4, Criteria1:="ABS5032A"
.AutoFilter Field:=11, Criteria1:="7"
.AutoFilter Field:=12, Criteria1:="8"
.AutoFilter Field:=14, Criteria1:="1002"
.AutoFilter Field:=15, Criteria1:="YES"
.AutoFilter Field:=17, Criteria1:="NO"
.AutoFilter Field:=18, Criteria1:="12"
End With
End With
這工作得很好,在我的Excel表格中我可以看到正確的行可見,其他隱藏。
問題從這裏開始。我希望能夠獲得可見行的最後一列(列「X」)的值。要做到這一點我想這(我的過濾器後):
Dim rsltRng As Range
Set rsltRng = Worksheets("test").AutoFilter.Range.SpecialCells(xlCellTypeVisible)
當我在另一個工作表複製rslRng,它工作正常,右排被複制的表:
rsltRng.Copy Worksheets("sheet").Range("A1")
不過,我想喜歡避免使用其他工作表,並直接獲取我想要的列的值。
任何想法,我怎麼能做到這一點?
謝謝你的幫助!
Neira
謝謝Steve! – Neira
rowNum = .Range(「B1」)。End(xlDown).Row - 這應該是'X1',但最終結果是一樣的:) –