在Excel VBA中union方法可以连接多个range单元格对象,在批量重复操作中非常实用。
例如,需要指定位置批量删除、批量插入单元格,可以union(range1,range2,range3,…)
以上VBA写法通过循环可以进行简化,提高处理速度:
Sub 宏3()
Dim rg As Range
For i = 1 To 1000 Step 2
If rg Is Nothing Then
Set rg = Cells(i, 1)
Else
Set rg = Union(rg, Cells(i, 1))
End If
Next i
rg.Select
End Sub
VB6中则没有union这个用法,处理excel时如何套用这个方法,可以参考以下代码
```vbnet
Private Sub Form_Load() 'VB6使用VBA中的union方法
Set ex = GetObject(, "excel.application") '绑定打开的Excel对象
Set wb = ex.Activeworkbook '定义激活的工作簿对象
Set sh = wb.sheets(1) '第一个工作表
Set rg = ex.Union(sh.cells(2, 1), sh.cells(4, 1), sh.cells(6, 1)) '连接单元格
rg.Select
rg.EntireRow.Insert '一次批量插入行
End Sub