gpt4 book ai didi

vba - 高级过滤器 VBA

转载 作者:行者123 更新时间:2023-12-04 21:16:22 24 4
gpt4 key购买 nike

到目前为止,我有此代码,仅适用于表 2,如何更改此代码以将多张表包含在其中?在这里完成newb。 :

Sub extractuniquevalues()

Sheet1.Range("C:C").AdvancedFilter xlFilterCopy, , Sheet4.Range("C1"), True
Sheet2.Range("C:C").AdvancedFilter xlFilterCopy, , Sheet4.Range("C1"), True

End Sub

最佳答案

你可以这样做:

就地过滤数据 :

Sub extractuniquevalues()
Dim wks As Excel.Worksheet

For Each wks In Excel.ActiveWorkbook.Worksheets
Call wks.Range("C:C").AdvancedFilter(XlFilterAction.xlFilterInPlace, , , True)
Next wks

End Sub

过滤数据并将其粘贴到新工作表中:
Sub extractuniquevalues2()
Dim wks As Excel.Worksheet
Dim wksSummary As Excel.Worksheet
'----------------------------------------------------------------------------------

On Error Resume Next
Set wksSummary = Excel.ThisWorkbook.Worksheets("Unique data")
On Error GoTo 0

If wksSummary Is Nothing Then
Set wksSummary = Excel.ThisWorkbook.Worksheets.Add
wksSummary.Name = "Unique data"
End If


'Iterate through all the worksheets, but skip [Summary] worksheet.
For Each wks In Excel.ActiveWorkbook.Worksheets

With wksSummary

If wks.Name <> .Name Then
If Application.WorksheetFunction.CountA(wks.Range("C:C")) Then
Call wks.Range("C:C").AdvancedFilter(xlFilterCopy, , .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row + 1, 1), True)
End If
End If

End With

Next wks

End Sub

每个工作表中的唯一数据都打印在名为唯一数据的新工作表的第一列中。

此方法分别过滤来自每个工作表的数据,因此如果有例如值 A在 Sheet1 和值 A在 Sheet2 中,将有两个条目 A在结果列表中。

请注意,第一个值被认为是标题,它可以在结果列表中重复。

关于vba - 高级过滤器 VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31655132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com