Excel 确定合并区域的大小

Excel 确定合并区域的大小,excel,vba,office-2003,Excel,Vba,Office 2003,是的,在我们开始讨论合并单元格之前,我也讨厌它们,但无论如何我都要处理它们。我现在或将来都无法改变这一点。尽我所能;) 假设我有一些合并的单元格,我需要确定它跨越的单元格数量。 假设A1:A4被合并,那么我需要返回合并单元格的数量4。 有什么方法可以做到这一点吗?您可以使用 Dim r As range Dim i As Integer Set r = range("A1") i = r.CurrentRegion.Count 这将使A1:A4为4,A1:B4为8。我不确定这是

是的,在我们开始讨论合并单元格之前,我也讨厌它们,但无论如何我都要处理它们。我现在或将来都无法改变这一点。尽我所能;)

假设我有一些合并的单元格,我需要确定它跨越的单元格数量。 假设A1:A4被合并,那么我需要返回合并单元格的数量4。 有什么方法可以做到这一点吗?

您可以使用

Dim r As range
Dim i As Integer
    Set r = range("A1")
    i = r.CurrentRegion.Count

这将使A1:A4为4,A1:B4为8。

我不确定这是否正确。如果我合并A1:A4并在其中输入一个值。然后我在A5中输入一个值,CurrentRegion将返回5,即使只有4个合并的单元格。所以你不想知道合并的单元格数量?您想知道有值的连续单元格的数量吗?这不适用于我在
.xls
(即不
.xlsx
)工作表上使用MS Excel 2007。然而,使用
.MergeArea.Count
代替,就像迪克建议的那样,效果很好。
ActiveCell.MergeArea.Count