2017-05-29 66 views
1

我有以下代碼,要麼採取ActiveCell和MsgBox它的MergeArea邊界(工作正常),或採取預定的範圍,並做相同的(失敗)。當我嘗試後者時,我得到application defined or object-defined錯誤。應用程序定義的或對象定義的錯誤合併單元

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"被合併。

這裏有什麼問題?

+3

MergeArea屬性僅適用於單細胞範圍。 https://msdn.microsoft.com/en-us/library/office/ff822300.aspx –

+1

因此,這解釋了爲什麼'.MergeArea'與'ActiveCell'一起使用,而不是'Selection',即使它們引用相同的合併單元格。 –

回答

1

爲了我對Siddharth Rout的評論的好奇心,我試驗了這段代碼。

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。

相關問題