Excel VBA:如何在没有完整名称的情况下激活工作簿?

时间:2017-02-09 09:13:49

标签: excel vba excel-vba

我打开了多个excel工作簿。我想要激活一个具有" Final"在它的名字。

示例:我有三个打开的​​工作簿,名为" Workbook1.xlsx"," worKbook2.xlsm"和" workbookFinal.xlsx"同时开放。

我的VBA代码位于" Macro.xlsm"中。使用VBA我想激活具有" Final"在里面。仅供参考。所有工作手册都有不同的路径。

2 个答案:

答案 0 :(得分:2)

循环遍历Workbooks集合,直到找到正确的命名工作簿:

Sub wbs()
    Dim wb As Workbook

    For Each wb In Workbooks
        If InStr(wb.Name, "Final") > 0 Then
            wb.Activate
            Exit For
        End If
    Next
End Sub

答案 1 :(得分:2)

使用Like运算符和通配符*,尝试下面的代码。

Option Explicit

Sub FindFinalWorkbook()

Dim wb As Workbook

' loop through all open workbooks
For Each wb In Application.Workbooks
    If wb.Name Like "*Final*" Then '< -- check if workbook name is Like *Final*
        wb.Activate
        Exit For
    End If
Next wb

End Sub