如何在活动单元格中创建组合框?

时间:2015-02-14 16:42:03

标签: excel vba vbscript combobox basic

我想创建一个脚本,选择第一个空白行,然后在" A"中放置一个下拉列表。那一行的列。然后我想使用.additem("")来添加我需要的项目。我该怎么做?

提前致谢。

1 个答案:

答案 0 :(得分:2)

试试这个

Sub AddComboBox(Col As Long)
    Dim LastRow As Range

    With ThisWorkbook.ActiveSheet
    Set LastRow = .Cells(.Rows.Count, Col).End(xlUp)
    End With

    With ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", _
                                    Link:=False, _
                                    DisplayAsIcon:=False, _
                                    Left:=0, _
                                    Top:=LastRow.Top + LastRow.Height, _
                                    Width:=100, _
                                    Height:=16)
        With .Object
            .AddItem "Hi"
        End With
    End With
End Sub

15是默认的行高。当你的行有不同的高度时,所有的赌注都会关闭。

编辑1 :根据您的评论,您可以通过从其他子网调用它来尽可能多地使用它。我已经在第一个名为Col的子项中添加了一个参数,这是您列的ID。

Sub Main()
Dim I As Long
For I = 1 To 3
AddComboBox I
Next
End Sub

编辑2:我已经整合了处理变量行高的dee的高效注释。