独特的记录过滤器
Unique Record Filter
我编写代码对作品sheet 列执行唯一记录筛选,并将每一列(筛选后)复制到新作品sheet。当前代码如下所示:
sub Test()
Worksheets.Add(After:=Worksheets(3)).Name = "Unique Filter"
For i = 1 To 12
Sheets("Sheet3").Columns(i).Copy Sheets("Unique Filter").Columns(i)
Next
Worksheets("Unique Filter").Activate
For i = 1 To 12
Columns(i).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
Next
End sub
它在当前作品之后创建了一个新作品sheet(这是我工作簿中的作品sheet 3)。
宏给我留下了新的 Excel "Unique Filter" 如下,看起来不对:(在 [=22= 的原始 10K 行中应该有大约 600 条唯一记录] 3,而不是 1)
您可能想跳过最初的 copy-paste,而是使用高级过滤器的 copy-paste 功能。如果我不这样做,我总是会得到意想不到的结果——隐藏的行等等。可能都是可以解释的,但我从未研究过它并发现这是一个更快的解决方案。
所以 - 稍微修改一下代码...
sub Test()
Worksheets.Add(After:=Worksheets(3)).Name = "Unique Filter"
For i = 1 to 12
Sheets("Sheet3").Columns(i).AdvancedFilter _
xlFilterCopy, , Sheets("Unique Filter").Columns(i), True
Next
End Sub
我编写代码对作品sheet 列执行唯一记录筛选,并将每一列(筛选后)复制到新作品sheet。当前代码如下所示:
sub Test()
Worksheets.Add(After:=Worksheets(3)).Name = "Unique Filter"
For i = 1 To 12
Sheets("Sheet3").Columns(i).Copy Sheets("Unique Filter").Columns(i)
Next
Worksheets("Unique Filter").Activate
For i = 1 To 12
Columns(i).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
Next
End sub
它在当前作品之后创建了一个新作品sheet(这是我工作簿中的作品sheet 3)。
宏给我留下了新的 Excel "Unique Filter" 如下,看起来不对:(在 [=22= 的原始 10K 行中应该有大约 600 条唯一记录] 3,而不是 1)
您可能想跳过最初的 copy-paste,而是使用高级过滤器的 copy-paste 功能。如果我不这样做,我总是会得到意想不到的结果——隐藏的行等等。可能都是可以解释的,但我从未研究过它并发现这是一个更快的解决方案。
所以 - 稍微修改一下代码...
sub Test()
Worksheets.Add(After:=Worksheets(3)).Name = "Unique Filter"
For i = 1 to 12
Sheets("Sheet3").Columns(i).AdvancedFilter _
xlFilterCopy, , Sheets("Unique Filter").Columns(i), True
Next
End Sub