gpt4 book ai didi

excel - 类模块中的 WithEvent 未从 Excel VBA 中的 Let 属性获取变量

转载 作者:行者123 更新时间:2023-12-02 17:32:10 24 4
gpt4 key购买 nike

我想我在这里遗漏了一些简单的东西。尝试在类模块中使用变量。让工作顺利进行。但如果我尝试在类模块的不同子模块中使用该变量,我只会得到 0 值。

类模块 clsCombobox

Public WithEvents ComboBox As MSForms.ComboBox
Public WithEvents ComboTextBox As MSForms.TextBox

Public Num As Long

Public Property Let Number(Value As Long)
Num = Value
End Property

Public Property Get Number() As Long
Number = Num
End Property

Private Sub ComboBox_Change()
Me.ComboTextBox.Value = Num
'this gives value of 0
End Sub

用户表单模块

Dim obEvents as clsCombobox
Set obEvents = New clsCombobox
obEvents.Number = 52
MsgBox obEvents.Number 'this prints 52

设置 ComboBox 的子

Private Sub GroupCombobox()
Dim i As Long
Dim obEvents As clsCombobox

Set collCombobox = New Collection

For i = 1 To 5
Set obEvents = New clsCombobox
Set obEvents.ComboBox = Me.Controls("cbAbility" & i)
Set obEvents.ComboTextBox = Me.Controls("tbAbility" & i & "Text")
collCombobox.Add obEvents
Next i

End Sub

最佳答案

您似乎从未设置过该值。我想你的意思是在循环中这样做?也许不是 i 的值,但在这里你可以看到这个想法......

For i = 1 To 5
Set obEvents = New clsCombobox

'Set the value here
obEvents.Number = 52 ' 52 or whatever is needed as Number

Set obEvents.ComboBox = Me.Controls("cbAbility" & i)
Set obEvents.ComboTextBox = Me.Controls("tbAbility" & i & "Text")
collCombobox.Add obEvents
Next i

关于excel - 类模块中的 WithEvent 未从 Excel VBA 中的 Let 属性获取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49395267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com