首页 > 解决方案 > VBA:是否可以使用单元格值来激活类似命名的选项卡?

问题描述

这可能是非常基本的,但我还没有成功。

我在工作簿 1 的某个范围内有一个数据块。每个单元格都有一个对应于工作簿 2 的选项卡名称的值。

如何使用这些单元格的值来激活工作簿 2 上相应的选项卡?

该代码在另一台计算机上,抱歉目前没有示例。

到目前为止,我尝试设置一个等于单元格值的变量,但似乎无法将其转换为用于调用选项卡的工作簿对象。

谢谢!

标签: excelvba

解决方案


假设您的选项卡名称在其中Sheet1Workbook1那么我们可以使用以下方法:

Option Explicit

Sub Tab_Caller()
    
    Dim wb1 As Workbook, wb2 As Workbook
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim sSheetName As String

    'set the workbook objects
    Set wb1 = ThisWorkbook
    Set wb2 = Workbooks("MySecondWOrkbook.xlsx")

    'set the worksheet
    Set ws1 = wb1.Sheets("Sheet1")
    sSheetName = ws1.Range("A1").Value

    'Activate the required tab in wb2 using value in ws1
    wb2.Sheets(sSheetName).Selct
    wb2.Sheets(sSheetName).Activate

End SUb

推荐阅读