1
我有我要篩選值的列:Excel單元格如何環路濾波器
現在我想僅環上的過濾單元
這是我做了什麼:
For lin = 2 to lastLine
If Not Plan11.Cells(lin, 1).Hidden Then
//do something
End If
Next
但是我有超過50000個細胞......有沒有更快的方法來做到這一點?使用
我有我要篩選值的列:Excel單元格如何環路濾波器
現在我想僅環上的過濾單元
這是我做了什麼:
For lin = 2 to lastLine
If Not Plan11.Cells(lin, 1).Hidden Then
//do something
End If
Next
但是我有超過50000個細胞......有沒有更快的方法來做到這一點?使用
使用range
對象
with ws.Columns(1).SpecialCells(xlCellTypeVisible)
'... do something.
' for instance: .Font.Bold = True
end with
的SpecialCells
方法,其中ws
是工作表對象,其列「A 「你想與
您可以找到過濾單元:
ActiveSheet.range("valid range for column").Rows.SpecialCells(xlCellTypeVisible)
然後你可以反覆結果和做的東西。
例如,當我有一個表,我可以這樣來做:
Dim lastRow
lastRow = ActiveSheet.ListObjects("Table1").range.Rows.Count
Dim range
Set range = ActiveSheet.range("A2:A" & lastRow).Rows.SpecialCells(xlCellTypeVisible)
For Each rCell In range.Cells
MsgBox rCell.Value
Next rCell
有一個類似的問題在這裏:http://stackoverflow.com/questions/10849177/easiest-way-to-loop-through-a-filtered-list-with -vba – ayhan