Vba 应用程序定义或对象定义的错误合并单元格
我有以下代码,它要么接受ActiveCell并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
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
一起工作,即使它们引用的是相同的合并单元格。