如何在 vba 中使用 union(附示例)


您可以使用 VBA 中的Union方法将多个范围合并为一个。

以下是在实践中使用此方法的常见方法:

 SubUseUnion ()

Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"))
UnionRange.Formula = "=RANDBETWEEN(1, 100)"

End Sub

此特定宏将范围A1:A10C1:C10组合成一个范围,然后将 Excel 公式=RANDBETWEEN(1, 100)分配给该组合范围中的每个值,这会生成 1 到 100 之间的随机值。

下面的例子展示了如何在实践中使用VBA中的Union方法。

示例:如何在 VBA 中使用 Union 来组合范围

我们可以在 VBA 中定义以下宏来使用 Union 方法组合范围A1:A10C1:C10

 SubUseUnion ()

Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"))
UnionRange.Formula = "=RANDBETWEEN(1, 100)"

End Sub

当我们运行这个宏时,我们会收到以下输出:

A1:A10C1:C10范围内的每个单元格现在包含公式=RANDBETWEEN(1, 100) ,该公式返回 1 到 100 之间的随机整数。

另请注意,我们可以为Union方法提供两个以上的范围。

例如,我们可以创建以下宏,它使用Union方法组合三个不同的范围,然后将公式插入每个范围的单元格中:

 SubUseUnion ()

Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"), Range("D1:D5" ))
UnionRange.Formula = "=RANDBETWEEN(1, 100)"

End Sub

当我们运行这个宏时,我们会收到以下输出:

我们合并为一个的三个范围现在都包含RANDBETWEEN公式。

注意:您可以在此处找到 VBA Union方法的完整文档。

其他资源

以下教程说明如何在 VBA 中执行其他常见任务:

如何在VBA中使用交集
如何计算VBA中使用的列数
如何用VBA计算工作簿中的工作表数量

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注