【问题标题】:Creating ListBox创建列表框
【发布时间】:2015-10-23 08:38:18
【问题描述】:

我正在尝试使用 VBA 从 Access 创建 Excel 报告。因此,每次用户单击 Access 表单中的按钮时,都应生成一个 Excel 文件。我需要在文件中有 ListBox。我正在声明 ListBox 添加项目,但在将其分配给特定单元格时遇到问题:

Dim lst As ListBox
With lst
.AddItem "1"
.AddItem "2"
End With

现在我想在 Cells(7, 1) 中显示列表框。

我该怎么做?

【问题讨论】:

    标签: excel ms-access listbox vba


    【解决方案1】:

    一个简单的解决方案是利用数据验证直接在单元格中创建一个下拉菜单。这样您还可以避免使用可能会被弃用的组件。

    在您的情况下,这可能正在运行此代码:

    Dim list(1) As String
    list(0) = "1"
    list(1) = "2"
    
    With Cells(1, 7).Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
            Operator:=xlBetween, Formula1:=Join(list, ",")
    End With
    

    使用 Join 添加验证的灵感来自 this answer

    【讨论】:

    • 感谢您的回答。我试过了,但出现运行时错误 1004。
    • 什么时候?你是如何使用代码的?它在这里工作得很好。
    • 我在 With xlapp 下使用它
    • on button click event function 我正在使用'code'创建excel文件 Set xlapp = CreateObject("Excel.Application") '使用xlapp .Workbooks.Add '创建一个excel应用程序对象 .Workbooks.Add '添加新工作簿在 excel .ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False
    • 我很确定您的问题超出了问答的范围。尝试在新工作簿中的空方法中执行上面的代码,看看是否会导致任何问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    • 1970-01-01
    • 2020-09-19
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多