2016-08-24 31 views
1

我有幾個形狀(或更具體地說,下拉列表),這些形狀大致與單個細胞對齊,並且想知道每個細胞位於哪個細胞下方。Excel VBA:獲取細胞在形狀的中心

我知道有以下成員:

Dim dd As Shape 
dd.BottomRightCell 
dd.TopLeftCell 

得到的形狀下的右下角或左上角的單元格,但由於形狀手動放置,而且並不總是正確對齊(有時右下角觸及下面的行,有時候是上面的行的左上角,......)這兩個值都不可信。

我想知道當我看着形狀的中心時我得到了哪個單元格。有沒有辦法獲得這些信息?

回答

1

你可以用它來找到中心點,我不確定如何選擇基於頂部/左邊位置的單元格,這是否足夠?

lngLeftCentre = shape.Left + (shape.Width/2) 
lngTopCentre = shape.Top + (shape.Height/2) 
Debug.Print "Top: " & lngTopCentre 
Debug.Print "Left: " & lngLeftCentre 
+0

謝謝你,這至少是我正在尋找的前半部分。也許有人知道如何將這個x,y位置轉換爲實際的單元格? – elzell