在多个打开的工作簿之间导航的用户表单
Userform to navigate between severals open workbooks
我有一个小程序 VBA,它实际上是一个用户窗体,它允许我显示当前打开的所有现有工作簿。通过此用户表单,我可以 select 另一个工作簿,并通过单击列表框中显示的工作簿名称,它通过激活将我重定向到所需的工作簿。问题是它并非每次都有效,有时当我尝试单击列表框中所需的工作簿时,它不一定会将我重定向到所需的工作簿。也许与我的列表框相关的代码有问题:With Me.ListBox1If .ListIndex <> -1 Then Workbooks (.Value).Activate
如果有人能帮助我,那就太好了。
谢谢
泽维尔
请在下面找到我的代码:
'code in module in VBAproject (personal.XLSB)
Sub UserFormmanagementworkbooks()
UserForm2.Show vbModeless
End Sub
'code in userform called Userform2
Sub UserForm_Initialize()
Dim n As Long
Do
n = n + 1
Me.ListBox1.AddItem Workbooks(n).Name
Loop Until n = Workbooks.Count
End Sub
Sub ListBox1_Click()
With Me.ListBox1
If .ListIndex <> -1 Then Workbooks(.Value).Activate
End With
End Sub
我能想到三个问题
- 首先可能是初始化的问题,我已经初始化了n = 0
Sub UserForm_Initialize()
Dim n As Long
n = 0
Do
n = n + 1
Me.ListBox1.AddItem Workbooks(n).Name
Loop Until n = Workbooks.Count
End Sub
第二个是当你打开它时表单会获取工作簿列表,所以逻辑上它不会在初始化后查找任何打开的工作簿
第三题可以excelwindow。您的表单将在一个 excel window 中获取工作簿,如果您打开两个 excel,则不会从中获取 excel 个工作簿。
以下例为例
一个。当您双击 excel 文件时,它会在同一个 window.
中打开
b。当您在已存在的 excel window 中单击打开并打开一个文件时,它将在相同的 window
中打开
c。当您从 excel 快捷方式打开另一个 excel 时,您将打开另一个 excel,并且该 excel 中的任何文件都不会包含在您的表单中。
我的知识仅限于excel的几个版本,也许其他版本的情况有所不同,但在我看到的版本中可能是这样。
我有一个小程序 VBA,它实际上是一个用户窗体,它允许我显示当前打开的所有现有工作簿。通过此用户表单,我可以 select 另一个工作簿,并通过单击列表框中显示的工作簿名称,它通过激活将我重定向到所需的工作簿。问题是它并非每次都有效,有时当我尝试单击列表框中所需的工作簿时,它不一定会将我重定向到所需的工作簿。也许与我的列表框相关的代码有问题:With Me.ListBox1If .ListIndex <> -1 Then Workbooks (.Value).Activate
如果有人能帮助我,那就太好了。
谢谢 泽维尔
请在下面找到我的代码:
'code in module in VBAproject (personal.XLSB)
Sub UserFormmanagementworkbooks()
UserForm2.Show vbModeless
End Sub
'code in userform called Userform2
Sub UserForm_Initialize()
Dim n As Long
Do
n = n + 1
Me.ListBox1.AddItem Workbooks(n).Name
Loop Until n = Workbooks.Count
End Sub
Sub ListBox1_Click()
With Me.ListBox1
If .ListIndex <> -1 Then Workbooks(.Value).Activate
End With
End Sub
我能想到三个问题
- 首先可能是初始化的问题,我已经初始化了n = 0
Sub UserForm_Initialize() Dim n As Long n = 0 Do n = n + 1 Me.ListBox1.AddItem Workbooks(n).Name Loop Until n = Workbooks.Count End Sub
第二个是当你打开它时表单会获取工作簿列表,所以逻辑上它不会在初始化后查找任何打开的工作簿
第三题可以excelwindow。您的表单将在一个 excel window 中获取工作簿,如果您打开两个 excel,则不会从中获取 excel 个工作簿。 以下例为例
一个。当您双击 excel 文件时,它会在同一个 window.
中打开b。当您在已存在的 excel window 中单击打开并打开一个文件时,它将在相同的 window
中打开c。当您从 excel 快捷方式打开另一个 excel 时,您将打开另一个 excel,并且该 excel 中的任何文件都不会包含在您的表单中。
我的知识仅限于excel的几个版本,也许其他版本的情况有所不同,但在我看到的版本中可能是这样。