Vba 应用程序定义或对象定义的错误合并单元格

Vba 应用程序定义或对象定义的错误合并单元格,vba,excel,Vba,Excel,我有以下代码,它要么接受ActiveCell并MsgBoxes其MergeArea边框(工作正常),要么接受预定范围并执行相同操作(失败)。当我尝试后者时,我得到应用程序定义或对象定义的错误 Sub test2() Dim Titles As Range Set Titles = Range("E13:H13") Dim titlesMerge As Range ' Set titlesMerge = ActiveCell.MergeArea 'this

我有以下代码,它要么接受ActiveCell并
MsgBox
es其
MergeArea
边框(工作正常),要么接受预定范围并执行相同操作(失败)。当我尝试后者时,我得到
应用程序定义或对象定义的
错误

Sub test2()
     Dim Titles As Range
     Set Titles = Range("E13:H13")

     Dim titlesMerge As Range
  '  Set titlesMerge = ActiveCell.MergeArea   'this works fine
     Set titlesMerge = Titles.MergeArea  'when use Range("E13:H13") it 
                              'fails

     MsgBox (titlesMerge.Row & " and " & titlesMerge.Rows.Count)
End Sub
合并单元格“E13:H13”

这里出了什么问题?

出于对先生评论的好奇,我尝试了这段代码

Sub caller()
Dim rMergedCell As Range
' Let B3:C4 a merged cell
Set rMergedCell = Range("B3:C4")

  Dim rTitlesCell As Range
  Set rTitlesCell = rMergedCell.Cells(1, 1).MergeArea

  MsgBox rTitlesCell.Row & " and " & rTitlesCell.Rows.Count
' Returns 3 and 2
End Sub

他指出,
MergeArea
属性仅对单个单元格引用有效。那么,为什么不获取合并单元格的最左上角单元格呢?希望这对OP有所帮助。

MergeArea属性仅适用于单个单元格范围。这就解释了为什么
.MergeArea
ActiveCell
一起工作,而不与
Selection
一起工作,即使它们引用的是相同的合并单元格。