Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 在引用图纸名称时是否有可能放置OR?_Excel_Vba - Fatal编程技术网

Excel 在引用图纸名称时是否有可能放置OR?

Excel 在引用图纸名称时是否有可能放置OR?,excel,vba,Excel,Vba,我调用了多个工作簿,它们都包含一个名为Desk或Desk或Desk的工作表。 我需要使用这些表中的数据来构建枢轴等等 我无法使用 工作表(“工作台”或“工作台”或“工作台”)。激活 去拿这些床单 有办法解决这个问题吗?使用此函数(您也可以将工作簿变量传递给该函数)来确定工作表是否存在(来源于): 您可以从宏中调用此函数来动态分配工作表。这里有几点需要注意: 如果存在多个目标工作表,代码会将工作表变量指定给第一个匹配的工作表变量 您可能需要考虑这些图纸都不存在的可能性 也可以使用公式 从工作簿

我调用了多个工作簿,它们都包含一个名为Desk或Desk或Desk的工作表。 我需要使用这些表中的数据来构建枢轴等等

我无法使用 工作表(“工作台”或“工作台”或“工作台”)。激活 去拿这些床单

有办法解决这个问题吗?

使用此函数(您也可以将工作簿变量传递给该函数)来确定工作表是否存在(来源于):


您可以从宏中调用此函数来动态分配工作表。这里有几点需要注意:

  • 如果存在多个目标工作表,代码会将工作表变量指定给第一个匹配的工作表变量
  • 您可能需要考虑这些图纸都不存在的可能性


  • 也可以使用公式

    从工作簿中激活Sheet1的步骤
    =HYPERLINK(“[food.xlsx]Sheet1!$A$2”,“转到food.Sheet1”)

    如果工作簿食物已打开,则获取A2的值
    =[food.xlsx]Sheet1$A$2

    如果未打开,请使用其路径
    ='C:\[food.xlsx]Sheet1'$A$2


    有一些功能可以检查工作表是否存在(在此网站上搜索),然后
    如果工作表存在,则检查工作表(“桌面”)。激活
    ,尽管我避免依赖活动工作表
    
    Function WorksheetExists(shtName As String, Optional wb As Workbook) As Boolean
        Dim sht As Worksheet
    
        If wb Is Nothing Then Set wb = ThisWorkbook
        On Error Resume Next
        Set sht = wb.Sheets(shtName)
        On Error GoTo 0
        WorksheetExists = Not sht Is Nothing
    End Function
    
    Sub Test()
    
    Dim ws As Worksheet
    
    'Dynamically assign worksheet variable
    If WorksheetExists("Sheet1") Then
        Set ws = Sheets("Sheet1")
    ElseIf WorksheetExists("Sheet2") Then
        Set ws = Sheets("Sheet2")
    ElseIf WorksheetExists("Sheet3") Then
        Set ws = Sheets("Sheet3")
    End If
    
    'Account for none of the sheets existing
    If ws Is Nothing Then
        MsgBox "None of sheets exist"
        Exit Sub
    End If
    
    MsgBox ws.Name
    
    End Sub