Vba 两个范围内的值的并集

Vba 两个范围内的值的并集,vba,excel,Vba,Excel,列表示我正在尝试创建两个数据透视表中两个范围内的值的并集: 因此,基本上我想要结束的是,在单元格J5中有两个透视表(两个集合的并集)中所有唯一工作类型的列表 我现在已经创建了两个包含所有工作类型的范围(每个透视表一个),现在我想在单元格J5中得到两个范围中所有唯一值的组合列表 有什么建议吗 编辑 我创建了两个范围的并集: Set rUnion = Application.Union(rLeftPivot, rRightPivot) 但当我尝试跑步时: rUnion.AdvancedFilte

列表示我正在尝试创建两个数据透视表中两个范围内的值的并集:

因此,基本上我想要结束的是,在单元格J5中有两个透视表(两个集合的并集)中所有唯一工作类型的列表

我现在已经创建了两个包含所有工作类型的范围(每个透视表一个),现在我想在单元格J5中得到两个范围中所有唯一值的组合列表

有什么建议吗

编辑

我创建了两个范围的并集:

Set rUnion = Application.Union(rLeftPivot, rRightPivot)
但当我尝试跑步时:

rUnion.AdvancedFilter Action:=xlFilterCopy, _
   CopyToRange:=Range("J5"), Unique:=True

我收到1004错误:“数据库或表范围无效”,有什么建议吗?

我认为有很多可能做到这一点。一个可能的答案如下:

Dim Rng1 As Range
Dim Rng2 As Range

Set Rng1 = Range("A1:a10")
Set Rng2 = Range("B1:B10")

With Range("J5")
    .Resize(Rng1.Rows.Count, 1) = Rng1.Value
    .Offset(Rng1.Rows.Count, 0).Resize(Rng2.Rows.Count, 1) = Rng2.Value

    'remove duplicates
    Range("J5", .End(xlDown)).RemoveDuplicates 1, xlNo
End With

我不确定我是否正确理解了您想要的内容:而不是执行selection.Copy(显然,它粘贴到A1:A10和B1:B10中),你想把选择作为一个范围来处理吗?在J5单元格中会是什么?一个验证列表还是所有项目的范围的开头?@Verocabas我添加了第二位代码,作为一个示例,说明我可以做些什么来让它工作,所以我添加的这些范围:A1:A10和B1:B10可以被忽略,因为在现实生活中它们会被引用取代到我应该创建的范围。@KezJaw是我需要进一步工作的两个集合中唯一值列表的开始。(我的昵称是vArocarbas)我已经理解了你的代码。我在问你到底想做什么(为了明确我的观点,我谈到了范围),但我仍然不清楚:你想通过直接将选择作为范围处理来避免复制,不是吗?@KezJaw这很有效,谢谢。请您给我解释一下它是如何工作的,调整大小和偏移以及最后的xlNo是做什么的?
Resize
将范围大小更改为新的<代码>偏移量将范围移动到新位置
.End(xlDown)
-该代码将范围移动到新位置,就像您在excel应用程序中使用
Ctrl+arrays
那样。所有这些都是范围修改器,可用于任何(逻辑除外)组合。