首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在一列中筛选数据,然后在另一列中获得链接到筛选数据的值

如何在一列中筛选数据,然后在另一列中获得链接到筛选数据的值
EN

Stack Overflow用户
提问于 2019-04-10 12:39:16
回答 1查看 32关注 0票数 0

我有一个+- 15000行的数据库。在列U中有我需要过滤的模型代码。在H列中,我有一个唯一资产编号的列表。多个模型,每个模型都有一个唯一的资产编号。因此,对于每个过滤的模型代码,我需要列H中的唯一资产编号之一,然后复制并粘贴到A列Sheet2中,我可以使用下面的代码进行筛选,但是如何获得列H中的唯一值?

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-10 17:24:22

虽然我认为最简单的方法是使用数据透视表,但如果需要使用VBA的解决方案,下面是代码的解决方案。

在将数据复制到RemoveDuplicates之后,您可以使用Sheet2函数来保持以下唯一值。

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

代码语言:javascript
复制
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中的相应范围。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55612798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档