Count rows for merged cells
我在统计Excel中合并单元格的每个块的行数时遇到问题。
我对A1有价值。 如果我合并单元格A1到A4,则该值将居中显示在范围A1-A4上。
然后我在A5中还有另一个值。 如果我将单元格A5合并到A12,则此第二个值将以该单元格的第二个块为中心。
我要计算的是合并单元格每个块的行数。
我尝试使用VBA编程通过函数" MergeArea"和" CurrentRegion.Count"来检测这些行数,但是该程序检测到两个块是连续的并计数12行,而不是4行,然后是8行。
如果它首先检测到" 4",则可以将正确的指令放在循环中,然后检测到" 8"。
在VBA方面,合并单元有几个缺点,但这是一种简单的尝试方法。
我的工作表如下所示:

码:
1 2 3 4 5 6 7 8 9 10 | Sub CountMergedRows() For i = 1 To 20 RowCount = Range("A" & i).MergeArea.Rows.Count If RowCount > 1 Then MsgBox ("Cell [A" & i &"] has" & RowCount &" merged rows") i = i + RowCount End If Next i End Sub |
结果是两个消息框,如下所示:
Portland Runner建议的方法
1 2 3 4 5 6 7 8 9 10 11 | Sub CountMergedRows() For i = 1 To 20 RowCount = Range("A" & i).MergeArea.Rows.Count If RowCount > 1 Then MsgBox ("Cell [A" & i &"] has" & RowCount &" merged rows") i = i + RowCount - 1 'note -1 here End If Next i End Sub |