Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何过滤一列中的数据,然后在链接到已过滤数据的另一列中获取值_Excel_Vba - Fatal编程技术网

Excel 如何过滤一列中的数据,然后在链接到已过滤数据的另一列中获取值

Excel 如何过滤一列中的数据,然后在链接到已过滤数据的另一列中获取值,excel,vba,Excel,Vba,我有一个+-15000行的数据库。在U列中,我需要筛选模型代码。在H列中,我有一个唯一资产编号的列表。多个模型,每个模型具有唯一的资产编号。因此,对于每个过滤后的模型代码,我需要H列中的一个唯一资产编号,然后将其复制并粘贴到A列中。2我可以使用下面的代码进行过滤,但如何获得H列中的一个唯一值 Sub SumGroups() Dim lastCode As Long, lastFiltCode As Long 'Determine Last Row in Column U (Un

我有一个+-15000行的数据库。在U列中,我需要筛选模型代码。在H列中,我有一个唯一资产编号的列表。多个模型,每个模型具有唯一的资产编号。因此,对于每个过滤后的模型代码,我需要H列中的一个唯一资产编号,然后将其复制并粘贴到A列中。2我可以使用下面的代码进行过滤,但如何获得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

尽管我想说最简单的方法是使用透视表,但如果您需要使用VBA的解决方案,下面是代码的解决方案

将数据复制到Sheet2后,可以使用RemovedUpplicates函数仅保留唯一值,如下所示

我还没有检查这是否有效,但从我所能看到的来看,它应该有效

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

请将上面的范围A1:A100更改为您在表2中的相应范围。

谢谢您删除重复项的想法非常好。但是我没有使用你的代码。