vba - 如何在 Excel VBA 中创建通用组合框填充例程?

标签 vba excel

我想要一种通用方法来填充 Microsoft Visual Basic for Application 7.1 中的组合框。

我尝试使用 CType 将控制参数转换为组合框,但 Excel 无法识别此函数。

如何以通用方式填充组合框?

最佳答案

最简单的方法是通过组合框的名称。您不必将 control 强制转换为 comboBox

Public Sub FillComboBox(UserForm As UserForm, cbName As String, column As String, startRow As Integer)
    Dim dataSheet As Worksheet
    Dim Count As Integer
    Set dataSheet = Worksheets("yourWorksheetName")

    Count = WorksheetFunction.CountA(dataSheet.Range(column & startRow & ":" & column & "10000")) - 1
    UserForm.Controls(cbName).List = dataSheet.Range(column & startRow & ":" & column & startRow + Count).value
End Sub

在您的用户表单中或任何看起来像这样的地方进行调用:

FillComboBox Me, Me.cbMyComboBox.name, "A", 1

关于vba - 如何在 Excel VBA 中创建通用组合框填充例程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46505680/

相关文章:

java - Apache Poi - 现有工作簿中存在错误的单元格中的值不会重新计算

excel - 使用 VBA 在 Excel 中的线程注释中@-提及用户

excel - Access中的VBA调用函数

excel - 如何在Excel宏中使VBA从0而不是1开始计数

excel - 在 Excel VBA 中,如何保存/恢复用户定义的过滤器?

VBA Excel - 选定行中的最后两个单元格

vba - 在 VBA 中查找指定 Excel 工作表上的单元格而不激活工作表

javascript - 使用库时出错 - javascript

excel - VBA 架构技巧 - 宏封装

vba - 如何将 Excel 切片器链接到 Excel slider (滚动条)?