我有一个+- 15000行的数据库。在列U中有我需要过滤的模型代码。在H列中,我有一个唯一资产编号的列表。多个模型,每个模型都有一个唯一的资产编号。因此,对于每个过滤的模型代码,我需要列H中的唯一资产编号之一,然后复制并粘贴到A列Sheet2中,我可以使用下面的代码进行筛选,但是如何获得列H中的唯一值?
Sub SumGroups()
Dim lastCode As Long, lastFiltCode As Long
'Determine Last Row in Column U (Unfiltered Codes)
With Worksheets("Database") lastCode = .Range("U" & .Rows.Count).(xlUp).Row
'Filter Unique Codes into Column A Sheet2
.Range("U2:U" & lastCode).AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Worksheets("Sheet2").Range("A1"), Unique:=True
End With
End Sub发布于 2019-04-10 17:24:22
虽然我认为最简单的方法是使用数据透视表,但如果需要使用VBA的解决方案,下面是代码的解决方案。
在将数据复制到RemoveDuplicates之后,您可以使用Sheet2函数来保持以下唯一值。
我还没有检查这是否有效,但从我所能看到的情况来看,应该是这样的。
Dim lastCode As Long, lastFiltCode As Long
'Determine Last Row in Column U (Unfiltered Codes)
With Worksheets("Database") lastCode = .Range("U" & .Rows.Count).(xlUp).Row
'Filter Unique Codes into Column A Sheet2
.Range("U2:U" & lastCode).AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Worksheets("Sheet2").Range("A1"), Unique:=True
End With
'Use Header:=xlNo below is Sheet2 doesn't have header
Worksheets("Sheet2").Range("A1:A100").RemoveDuplicates Columns:=Array(1), Header:=xlYes
End Sub请将上面的Range("A1:A100")更改为Sheet2中的相应范围。
https://stackoverflow.com/questions/55612798
复制相似问题