【发布时间】:2016-06-25 20:12:26
【问题描述】:
我目前有包含多页和列表框的 UserForm1。列表框本质上显示了 Excel 工作表本身的一系列数据。
我已将 Userform2 设置为弹出窗口,以填写添加到 Excel 工作表中的信息,然后将这些信息转移到 Userform1 的列表框中。
本质上,用户导航到列表框,单击命令按钮,出现弹出窗口,用户完成信息,单击“确定”,然后显示在列表框中。
我遇到的问题是,当用户单击“确定”时,我无法刷新列表框。
我在“ok”命令按钮中的代码是:
Private Sub CommandButton1_Click()
Dim LastRow As Long, ws As Worksheet
Set ws = Sheets("Exchange")
LastRow = ws.Range("A" & Rows.Count).End(xlUp).Row + 1
ws.Range("A" & LastRow).Value = TextBox1.Text
ws.Range("B" & LastRow).Value = TextBox2.Text
ws.Range("F" & LastRow).Value = TextBox3.Text
ws.Range("G" & LastRow).Value = TextBox4.Text
ws.Range("E" & LastRow).Value = TextBox5.Text
ws.Range("H" & LastRow).Value = ComboBox1.Text
UserForm2.Hide
Forms!UserForm1.ListBox1.Requery
Forms!UserForm1.Repaint
End Sub
我目前收到运行时错误“424”需要对象。
关于如何刷新有什么建议吗?
非常感谢
【问题讨论】:
-
Forms!应该没用...试试UserForm1.ListBox1.Requery和UserForm1.Repaint -
非常感谢。我刚刚按照建议更改了结尾部分,我收到“编译错误:找不到方法或数据成员”?
-
如何填充 UserForm1 列表框?通过“AddItem”还是“RowSource”?在后一种情况下,设置其 RowSource 属性的语句是什么?
-
Private Sub Userform_Initialize ListBox1.RowSource = "Exchange!A2:I" & Range("I" & Rows.Count).End(xlUp).Row 下填充