将变体分配给组合框,反之亦然
Assigning a variant to a combobox and vice-versa
我正在尝试为用户窗体中的组合框的“值”分配变体以存储列表,以便我可以在初始化用户窗体时将变体的“值”重新分配给组合框。
这是我用来在用户窗体关闭之前为我的变体分配组合框列表值的代码:
Dim S()
Private Sub ExitButton_Click()
ReDim S(1 To NewRecordUserForm.RepCombo.ListCount)
S = NewRecordUserForm.RepCombo.List
Unload Me
End Sub
然后我在一个单独的子程序中使用这组代码在打开用户窗体时初始化组合框:
Private Sub UserForm_Initialize()
NewRecordUserForm.RepCombo.List = S
End Sub
请注意,Dim S()
已声明为全局变量。我收到以下错误消息:
"Run-error '380':
Could not set the list property. Invalid property value."
Dim ArrRep() As Variant
Public Sub PopulateCombos()
NewRecordUserForm.RepCombo.List = ArrRep
End Sub
Public Sub SaveCombos()
ReDim ArrRep(1 To NewRecordUserForm.RepCombo.ListCount)
ArrRep = NewRecordUserForm.RepCombo.List
End Sub
我在打开用户窗体时调用了第一个子程序,在它关闭之前调用了第二个子程序。成功了!
我正在尝试为用户窗体中的组合框的“值”分配变体以存储列表,以便我可以在初始化用户窗体时将变体的“值”重新分配给组合框。
这是我用来在用户窗体关闭之前为我的变体分配组合框列表值的代码:
Dim S()
Private Sub ExitButton_Click()
ReDim S(1 To NewRecordUserForm.RepCombo.ListCount)
S = NewRecordUserForm.RepCombo.List
Unload Me
End Sub
然后我在一个单独的子程序中使用这组代码在打开用户窗体时初始化组合框:
Private Sub UserForm_Initialize()
NewRecordUserForm.RepCombo.List = S
End Sub
请注意,Dim S()
已声明为全局变量。我收到以下错误消息:
"Run-error '380':
Could not set the list property. Invalid property value."
Dim ArrRep() As Variant
Public Sub PopulateCombos()
NewRecordUserForm.RepCombo.List = ArrRep
End Sub
Public Sub SaveCombos()
ReDim ArrRep(1 To NewRecordUserForm.RepCombo.ListCount)
ArrRep = NewRecordUserForm.RepCombo.List
End Sub
我在打开用户窗体时调用了第一个子程序,在它关闭之前调用了第二个子程序。成功了!