|
本帖最后由 hwc2ycy 于 2012-10-5 12:53 编辑
- Sub 合并2()
- Dim arr
- Dim i As Long, j As Long, k As Long 'I代表列数组,J代表行,K代表列
- Dim rg As Range '合并RANGE
- Dim iArr '需要合并的列号
- Dim iRow '数据行数
- Application.ScreenUpdating = False
- Application.DisplayAlerts = False
- iArr = Array(1, 2, 5, 6, 7, 8, 9)
- arr = Range("a5:i" & [a5].End(xlDown).Row).Value
- If [a5] = "" Then Exit Sub '避免空数据情况
- iRow = UBound(arr)
- For i = 0 To UBound(iArr)
- k = iArr(i)
- For j = 1 To iRow
- If j = iRow Then Exit For
- Set rg = Cells(j + 4, k) '行数据与数组中的行数相差为4
- Do While arr(j, k) = arr(j + 1, k)
- j = j + 1
- If j = iRow Then Exit Do
- Loop
- Set rg = Range(rg, Cells(j + 4, k))
- rg.Merge
- Next
- Next
- End Sub
复制代码 |
|