【问题标题】:Userform combobox not populating on initialize初始化时未填充用户表单组合框
【发布时间】:2013-12-19 02:09:55
【问题描述】:

我有一个包含三个组合框和一个文本框的用户表单,我想用命名范围或公共变量填充它。我在 Windows 上的 Excel 2010 中工作。这是我所拥有的: 首先,我运行了一些将一个工作表转换为新配置的代码。然后我调用用户表单,它将设置进一步更新工作表所需的变量。我已经在 Mac 上完成了这个并且它可以工作,但是我正在将它从 mac 转换到 windows 服务器。我认为这将是简单的部分,但由于某种原因它无法正常工作。

这是用户表单的代码。

Public KorS As String
Public ActivityID As String
Public Stage As String
Public varsaveme As String


Private Sub ufStageDt_Initialize()

AD = varsaveme & ".xls"
duh = KorS

Set Me.tbAdName.Text = duh
Set UserForm1.Caption = AD

'Set Me.cmbLowDt.List = "AnnDt"
Set Me.cmbHighDt.List = "AnnDt"
Set Me.cmbStage.List = "Stage"
Me.cmbLowDt.List = "AnnDt"

End Sub

公共变量存在于工作表的代码中。

这是我在 Mac 上使用的代码。

Private Sub UserForm_Initialize()

Ad = varsaveme & ".xls"

duh = KorS

tbAdName.Text = varsaveme
UserForm.Caption = Ad


cmbLowDt.List = Range("AnnDt").Value
cmbHighDt.List = Range("AnnDt").Value
cmbStage.List = Range("Stage").Text

End Sub

任何帮助将不胜感激。我在 vba 脚本中使用 ufStageDt.Show 命令来调出用户表单。

【问题讨论】:

    标签: excel userform vba


    【解决方案1】:

    Set 不起作用,所以消除它。此外,List 需要一个数组。对于单个硬编码项目,请使用 Additem

    Me.cmbHighDt.Additem "AnnDt"
    

    编辑:“AnnDt”是一个命名范围:

    Me.cmbHighDt.List = Application.Transpose(ActiveSheet.Range("AnnDt"))
    

    EDIT2:日期:

    Private Sub UserForm_Initialize()
    Dim i As Long
    With Me.cmbHighDt
        .List = Application.Transpose(ActiveSheet.Range("AnnDt"))
        For i = 0 To .ListCount - 1
            .List(i) = Format(.List(i), "yyyy-mm-dd")
        Next i
    
        'to get it back to a date
        ActiveSheet.Range("B1") = DateValue(.List(0))
    End With
    
    End Sub
    

    【讨论】:

    • AnnDt 是一个命名范围。如何获取命名范围而不是单个项目?
    • 我有一个警告。命名范围之一是日期范围。当我把它放在组合框中时,它会显示日期的数值。我必须以某种方式格式化日期字段吗?范围被格式化为日期。
    • 我回到了它,以你给我的东西为基础。我添加了 me.cmbHighDt.list = Application.Transpose(Worksheets("Source").Range("AnnDt").Value) 并且它有效。不知道为什么,但确实如此。
    • 确实如此。有趣!
    猜你喜欢
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多