计算合并单元格的行数

Iva*_*nna 2 excel vba

我在计算 Excel 中每个合并单元格块的行数时遇到问题。

我在 A1 上有一个值。如果我将单元格 A1 合并到 A4,则该值会在 A1-A4 范围内居中显示。然后我在 A5 中有另一个值。如果我将单元格 A5 合并到 A12,则第二个值将出现在第二个单元格块的中心。

我想要的是计算每个合并单元格块的行数。

我曾尝试使用 VBA 编程来检测这些行数,使用函数“MergeArea”和“CurrentRegion.Count”,但程序检测到这两个块是连续的并且计数 12 行,而不是 4 行然后是 8 行。如果检测到首先是“4”,我可以将正确的指令放在一个循环中,然后检测“8”。

Por*_*ner 7

就 VBA 而言,合并单元格有几个缺点,但这里有一个简单的方法可以尝试。

我的工作表是这样的:

在此处输入图片说明

代码:

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
Run Code Online (Sandbox Code Playgroud)

结果是两个消息框,如下所示:

在此处输入图片说明

在此处输入图片说明