【发布时间】:2019-03-09 22:14:37
【问题描述】:
我有一个小程序 VBA,它实际上是一个用户表单,它允许我显示我正在处理的一个打开的工作簿的所有现有工作表。通过这个用户窗体,我可以选择另一个工作表,并通过这个用户窗体单击工作表,它将我重新定向到所需的工作表。 现在我尝试修改这个程序的一部分,以便在我所有打开的工作簿中做同样的事情。这意味着如果我打开了几个工作簿,我希望我的用户窗体允许我显示所有现有的打开工作簿,并通过用户窗体选择所需的工作簿,它将我重新定向到这个工作簿(这意味着用户窗体中的选定工作簿被激活并被选中)。问题是当我运行代码时,出现错误消息 424 VBA Run-time error '424' Object Required Error...
PS:对于我的代码格式真的很抱歉,但我没有设法把它放在正确的格式..
提前感谢您的帮助 哈维
请在此处找到适用于与工作表相关的用户表单的原始代码(这个有效):
Sub UserForm_Initialize()
Dim n As Long
Dim msg As String
Dim i As Long
Dim s As String
Dim sht As Worksheet
Do
n = n + 1
Me.ListBox1.AddItem Sheets(n).Name
Loop Until n = Worksheets.Count
End Sub
请在此处找到与工作簿相关的用户表单的修改代码(这个不起作用:运行时错误424):
Sub UserForm_Initialize()
Dim n As Long
Dim msg As String
Dim i As Long
Dim s As String
Dim Wb As Workbook
Do
n = n + 1
Me.ListBox1.AddItem Workbooks(n).Name
Loop Until n = Worksbooks.Count
End Sub
【问题讨论】:
-
你在结束循环语句中有错字,应该如下:
Loop Until n = Workbooks.Count(而不是“Worksbooks”)。 -
非常感谢,这正是我要找的...