我已经找到了很多有关使用多个窗口的信息,但不足以使我熟悉这个窗口。
使用具有多个窗口的Excel 2016打开如何使用VBA来检查每个窗口中打开了哪个工作表?
作为一个例子... 该文件是“ Open File.xlsm” 它具有从“ Sheet1”到“ Sheet9”的表格 有3个打开的窗口
如何确定“ Sheet5”是否在任何打开的窗口中打开?
Function CheckForSheet5() As Boolean
Dim ExcelWindow as Window
For Each ExcelWindow in Application.Windows
' I'm lost for ideas in here
Next ExcelWindow
End Function
随后如何使用VBA更改每个窗口中可见/激活的工作表?我是否需要通过激活窗口来循环浏览?还是有其他方法?
上下文 我正在开发一种工具,以帮助预算和优化大型车队的维护。该工具在不同工作表上的不同表(维护任务,燃油费率,轮胎使用情况等)中都有大量输入,还有一个用于打开和关闭设备的分配表以及一系列输出仪表板在不同的工作表上。
参与团队全都使用最少2个屏幕(通常是3个屏幕,最多4个屏幕),因此我们进行了设置,目的是在同一Excel实例中使用多个窗口(燃油价格更改为1)窗口,输出立即在另一个窗口中更改。)
答案 0 :(得分:1)
此代码似乎可以在多个窗口中使用。
Sub wndows()
Dim ws As Worksheet
Dim wb As Workbook
Dim v As Variant
Dim w As Window
Set wb = Excel.Application.ThisWorkbook
For Each v In wb.Windows
Set w = v
'set ws to the active sheet that's in the current window
Set ws = w.ActiveSheet
If ws.Name = "Sheet5" Then
w.Activate
MsgBox ws.Name
Exit For
End If
Next
End Sub