我最近开始用 VBA 写作,多年来用各种其他语言写作。我目前在 Excel VBA 中使用过滤器时遇到了一些奇怪的问题,我想知道是否有人可以对我遇到的行为有所了解。
我想按数据集按多个不同的列进行过滤,一次一个,我通过将我的数据集复制到新工作表并在那里对数据进行排序来做到这一点。对于我使用的第一个过滤器:
Sheets("Temp Data").Range("A:T").ClearContents
Sheets("Main Sheet").Range("A1", "T" & CountLV_Rows).Copy Sheets("Temp Data").Range("A1", "T" & CountLV_Rows)
Sheets("Temp Data").Range("A1", "T" & CountLV_Rows).Sort Key1:=Range("R1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
这成功了。我现在想按 Col C INSTEAD 中的值进行过滤,我重复上面的代码(包括clearcontents
我认为可以提高成功机会的命令......然后将Key1
值交换为C1
对于第二个(希望是新过滤器),我使用了:
`Sheets("Temp Data").Range("A:T").ClearContents
Sheets("Main Sheet").Range("A1", "T" & CountLV_Rows).Copy Sheets("Temp Data").Range("A1", "T" & CountLV_Rows)
'Sort the data so ascending site numbers in column C
Sheets("Temp Data").Range("A1", "T" & CountLV_Rows).Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal`
但是,我的数据首先按列 R 排序后按列 C 排序...
如何擦除以前应用的任何类型?
谢谢你的帮助