|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
Sub 合并相同相邻单元格并对相应单元格求和()
Dim xRow As Integer
Dim i As Integer
Dim a As Integer
'a为中间变量,表示每次合并的行数
'xRow为数据区域最后一行行号
'若起始行不为1,则可将语句i=1重新赋值
xRow = Range("A1").CurrentRegion.Rows.Count
a = 0
For i = 1 To xRow
If Cells(i + 1, 1) = Cells(i - a, 1) And Cells(i + 1, 2) = Cells(i - a, 2) Then
'对相应单元格求和,iCol1为对应列号
Cells(i - a, 3) = Cells(i - a, 3) + Cells(i + 1, 3)
a = a + 1
Else
If a > 0 Then
Excel.Application.DisplayAlerts = False
'合并相同相邻单元格
Range(Cells(i - a, 1), Cells(i, 1)).MergeCells = True
Range(Cells(i - a, 2), Cells(i, 2)).MergeCells = True
'合并要求和列相应单元格
Range(Cells(i - a, 3), Cells(i, 3)).MergeCells = True
a = 0
Excel.Application.DisplayAlerts = True
End If
End If
Next
End Sub
代码附上
第一次提问,,最近接触VBA,请各位大神解读一下循环的疑惑,在这里怎么循环的呢.if then elseif.
if循环一次,满足else的条件,然后elseif接着循环.还是if循环到不满足条件.然后才跳到elseif进行循环的吗?
|
|