VBA:用户表单初始化时未命中用户表单初始化方法 - UserForm.UserForm_Activate解决方案不起作



我的工作表上有一个按钮,单击该按钮时,我有一个分配的宏,该宏调用userform.show。见下文:

Sub newjoin()
UserForm.UserForm_Activate
NewJoinerEntry.Show
End Sub

我已经添加了UserForm.UserForm_Activate在帖子上方看着你。

首先,我在运行时错误"424"UserForm.UserForm_Activate收到错误:需要对象。

此外,在我的用户表单中,我有:

Public Sub UserForm_Initialize()
Dim cntr As Integer
cntr = Application.WorksheetFunction.CountA(Sheets("SITES").Range("B2:B65536"))
Combosite.Clear
For obt = 2 To cntr
Me.Combosite.AddItem Cells(obt, 5)
Next obt
End Sub

我用它来填充组合框值,但它没有发生

在用户表单上,我有命令按钮单击的其他代码来提交表单结果,只有当用户表单初始化时组合框获取数据时,它才很好。

您可以在您的范围内循环并在 ComboBox 中添加值,如下所示:

Private Sub UserForm_Initialize()
Dim rng As Range
Dim SelectedRange As Range
Dim LastRow As Long
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("SITES")
LastRow = sh.Range("B" & Rows.Count).End(xlUp).Row
Set SelectedRange = sh.Range("G2:G" & LastRow)
ComboBox1.Clear
For Each rng In SelectedRange
ComboBox1.AddItem rng.Value
Next rng
End Sub

此代码将根据 B 列在工作表中设置动态范围。正如我在原始代码中看到的那样,您需要 G 列中的值。因此,SelectedRange是从 G 列获取值并将其放入 ComboBox 中。

最新更新