我在计算 Excel 中每个合并单元格块的行数时遇到问题。
我在 A1 上有一个值。如果我将单元格 A1 合并到 A4,则该值会在 A1-A4 范围内居中显示。然后我在 A5 中有另一个值。如果我将单元格 A5 合并到 A12,则第二个值将出现在第二个单元格块的中心。
我想要的是计算每个合并单元格块的行数。
我曾尝试使用 VBA 编程来检测这些行数,使用函数“MergeArea”和“CurrentRegion.Count”,但程序检测到这两个块是连续的并且计数 12 行,而不是 4 行然后是 8 行。如果检测到首先是“4”,我可以将正确的指令放在一个循环中,然后检测“8”。
就 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)
结果是两个消息框,如下所示:


| 归档时间: |
|
| 查看次数: |
25116 次 |
| 最近记录: |