2015-11-09 19 views
0

我需要在工作表上動態創建和刪除1至N個列表框。因爲頁面將會改變,所以我無法預先知道在哪裏放置控件,所以像...左:= 10,頂:= 10,寬:= 106.8,高:= 154.6將無法工作。例如,我需要能夠以編程方式將控件放置在C1或C55上。以編程方式定位excel列表框

我所做的研究只發現了靜態創建的例子,我還沒有找到任何能給我一個單元座標的東西(例如:C1 = Left:= 65,上圖:87)。

感謝您的幫助。

回答

1

考慮一下:

Dim i&, n&, r As Range 

n = 3 
With ActiveSheet 
    For i = 1 To n 
     Set r = .Range("c1")(i) 
     .ListBoxes.Add r.Left, r.Top, r.Width, r.Height 
    Next 
End With 

這只是演示瞭如何使用電池的尺寸和座標控制的尺寸和座標。它會在高度上偏離一點。你可以調整。

此外,您可以使用任何您希望識別單元格的機制。我只是做了C列的三個頂部單元格。

+0

很好的答案。添加一個「FormControl」列表框。或者你可以使用'.OLEObjects.Add(ClassType:=「Forms.ListBox.1」,...' –

+0

@hero謝謝你,作爲一個魅力工作。 – willlow1044

相關問題