以编程方式定位excel ListBox

时间:2015-11-09 21:55:45

标签: excel listbox programmatically-created

我需要在工作表上动态创建和删除1 - N个列表框。因为页面将会改变,所以我不能事先知道将控件放在哪里,所以语句如...左:= 10,上:= 10,宽度:= 106.8,高度:= 154.6将无效。我需要能够以编程方式将控件放在C1或C55上。例如。

我所做的研究只发现了固定位置静态创建的例子,我也找不到能给出单元坐标的任何东西(例如:C1 =左:= 65,顶部:87)

感谢您的帮助。

1 个答案:

答案 0 :(得分: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栏的三个顶部单元格。