关于union和合并单元格的区别

发布时间 2023-08-05 22:02:39作者: iZJ"Qq4577105

选择与单元格A1中的值相等的所有单元格

Sub selectSameCells()
    Dim goalRange As Range, indexCell As Range
    Set goalRange = Range("A1")
        
    For Each indexCell In Range("A1:B5")
        If indexCell.Value = Range("A1").Value Then
        Set goalRange = Union(goalRange, indexCell)
        End If
    Next indexCell
        
    goalRange.Select
End Sub

Union 函数:

  • 功能:Union 函数用于将多个范围对象合并成一个新的范围对象。相当于扩大某个range变量的范围。
  • 语法:Union(range1, range2, ...),其中 range1range2, ... 是要合并的范围对象。
    e.g:
    Dim rng1 As Range, rng2 As Range, mergedRange As Range
    Set rng1 = Range("A1:B2")
    Set rng2 = Range("C1:D2")
    Set mergedRange = Union(rng1, rng2)
    mergedRange.Select ' 选择合并后的范围

     

Merge 方法:

  • 功能:Merge 方法用于在 Excel 工作表中合并单元格。
  • 语法:range.Merge,其中 range 是要合并的单元格范围。
    e.g
    Dim rng As Range
    Set rng = Range("A1:B")
    rng.Merge ' 合并单元格
    ' 或者,可以直接在一行中合并单元格
    ' Range("A1:B2").Merge    

特别注意:合并单元格后,合并后的单元格将只保留左上角的值和格式。如果合并的范围中有多个非空单元格,则只保留左上角单元格的值,其他单元格的值将被清空。

区别:

  • Union 函数用于合并多个范围对象,将它们组合成一个新的范围对象。Union 函数返回的是一个范围对象(即你需要有个变量接收该返回值),可以对其进行进一步的操作。
  • Merge 方法用于在 Excel 工作表中合并单元格。它直接作用于指定的单元格范围,将其合并为一个单元格。Merge 方法没有返回值,只是直接修改了单元格的合并状态。

使用方法:

  • 使用 Union 函数时,将要合并的范围对象作为参数传递给函数,并将返回的合并后的范围对象赋值给一个变量。然后可以使用该变量进行进一步的操作。
  • 使用 Merge 方法时,直接在要合并的单元格范围对象上调用 Merge 方法即可。该方法会直接将单元格合并为一个单元格。