我有這個一個相當一個問題 - 我必須從一個Excel表格檢測水平和垂直合併的單元格。我必須存儲第一個單元格座標和合並區域的長度。我用兩個for-cycle逐行遍歷表格。檢測VBA中的Excel單元格合併與MergeArea
如何使用MergeArea屬性來檢測合併和非合併的區域? 如果小區不合並,它可能應該返回空範圍,但是,這樣的:
「如果currentRange是沒有那麼」
是不工作的。有任何想法嗎? 非常感謝。
我有這個一個相當一個問題 - 我必須從一個Excel表格檢測水平和垂直合併的單元格。我必須存儲第一個單元格座標和合並區域的長度。我用兩個for-cycle逐行遍歷表格。檢測VBA中的Excel單元格合併與MergeArea
如何使用MergeArea屬性來檢測合併和非合併的區域? 如果小區不合並,它可能應該返回空範圍,但是,這樣的:
「如果currentRange是沒有那麼」
是不工作的。有任何想法嗎? 非常感謝。
有代碼這幾個有用位。
將您在光標合併細胞,並要求在Immidiate窗口中的這些問題:
是在activecell合併單元格?
? Activecell.Mergecells
True
合併了多少個單元格?
? Activecell.MergeArea.Cells.Count
2
合併了多少列?
? Activecell.MergeArea.Columns.Count
2
合併了多少行?
? Activecell.MergeArea.Rows.Count
1
什麼是合併範圍內的地址?
? activecell.MergeArea.Address
$F$2:$F$3
+1'Mergecells'是新的我 –
不錯尖找到左上角單元格。感謝您的幫助。根據[MSDN] –
(https://msdn.microsoft.com/en-us/library/office/ff822300(V = office.15)的.aspx)的MergeArea屬性返回範圍對象本身,如果它是不** **在合併區域。所以你應該能夠使用MergeArea而不必首先檢查MergeCells。在我的代碼中工作。 – Rossco
首先,爲什麼不更新您的問題與您有問題的實際代碼?如果單元格*不*合併然後mergearea仍然返回一個單元格範圍,所以你不能只檢查'如果不c.MergeArea是Nothing'。你需要檢查的行/列數,你可以使用'c.MergeArea.Cells(1)' –