选择与单元格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, ...)
,其中range1
,range2
, ... 是要合并的范围对象。
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:B5") rng.Merge ' 合并单元格 ' 或者,可以直接在一行中合并单元格 ' Range("A1:B2").Merge ' 可以根据需要设置合并后单元格的格式 rng.HorizontalAlignment = xlCenter ' 设置水平居中对齐 rng.VerticalAlignment = xlCenter ' 设置垂直居中对齐 rng.Font.Bold = True ' 设置文本为粗体 rng.Interior.Color = RGB(255, 0, 0) ' 设置背景颜色为红色 End Sub
特别注意:合并单元格后,合并后的单元格将只保留左上角的值和格式。如果合并的范围中有多个非空单元格,则只保留左上角单元格的值,其他单元格的值将被清空。
区别:
Union
函数用于合并多个范围对象,将它们组合成一个新的范围对象。Union
函数返回的是一个范围对象(即你需要有个变量接收该返回值),可以对其进行进一步的操作。Merge
方法用于在 Excel 工作表中合并单元格。它直接作用于指定的单元格范围,将其合并为一个单元格。Merge
方法没有返回值,只是直接修改了单元格的合并状态。
使用方法:
- 使用
Union
函数时,将要合并的范围对象作为参数传递给函数,并将返回的合并后的范围对象赋值给一个变量。然后可以使用该变量进行进一步的操作。 - 使用
Merge
方法时,直接在要合并的单元格范围对象上调用Merge
方法即可。该方法会直接将单元格合并为一个单元格。