Excel 存在某些条件时如何隐藏工作表

Excel 存在某些条件时如何隐藏工作表,excel,vba,Excel,Vba,我正在尝试编写一个代码,该代码通过循环自动隐藏工作表选项卡(如果存在特定名称),然后使用vlookup添加列。如果这些名称都不存在,则不执行任何操作。如果我没有手动评论的话。我试图隐藏它是否存在(Michael、Jami、Stam、Christina)如果它们存在,我想隐藏它们如果这些名字都不存在,代码中没有任何内容,这给了我一个错误 Sub Admin_Auto_Add() Dim rec_range As String Dim wb As Workbook Dim

我正在尝试编写一个代码,该代码通过循环自动隐藏工作表选项卡(如果存在特定名称),然后使用vlookup添加列。如果这些名称都不存在,则不执行任何操作。如果我没有手动评论的话。我试图隐藏它是否存在(Michael、Jami、Stam、Christina)如果它们存在,我想隐藏它们如果这些名字都不存在,代码中没有任何内容,这给了我一个错误

Sub Admin_Auto_Add()

    Dim rec_range As String
    Dim wb As Workbook
    Dim lookup_reference As String
    
    With Original
        
        ActiveWorkbook.Sheets("Michael").Visible = xlSheetHidden
        ActiveWorkbook.Sheets("Jami").Visible = xlSheetHidden
'        ActiveWorkbook.Sheets("Stam").Visible = xlSheetHidden
        ActiveWorkbook.Sheets("Christina").Visible = xlSheetHidden
        
       Columns("C:C").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
       Range("C1").Value = "Admin_Vlookup"
      
        rec_range = getColRangeFunction("Admin_Vlookup")
        Range(rec_range).Formula = "=VLOOKUP(B2,'[Pairing List.xlsx]Recruiting_Admins'!$A$1:$B$32, 2,0)"
        Range(rec_range).Select
    End With
End Sub



   

也许是这样吧

Sub HideSheets()
Dim ws As Worksheet
Dim arrNames As Variant
Dim Res As Variant

    ' add/remove/change names of sheets you want to hide here
    arrNames = Array("Michael", "Jami", "Stam", "Christina")
   
    For Each ws In ActiveWorkbook.Sheets
        Res = Application.Match(ws.Name, arrNames, 0)
        
        If Not IsError(Res) Then
            ws.Visible = xlSheetHidden
        End If
    Next ws
    
End Sub

如何确定要隐藏的图纸以及何时隐藏?在您发布的代码中,您似乎隐藏了所有4张工作表。我是VBA新手,不知道如何循环告诉代码要隐藏哪些工作表,哪些工作表不基于场景。这就是我需要帮助的原因谢谢你能告诉我怎么做吗。尝试将此应用于代码,如果您在尝试实现时遇到特定问题,请返回。在循环的每个实例中,您都可以通过变量
ws
引用当前工作表。因此,对所有工作表应用相同的逻辑。如果您需要条件,那么
如果ws.Name=“Michael”那么[测试此标准]如果ws.Name=“urdearboy”那么[测试此标准]
在工作表中循环很简单,但您没有告诉我们如何确定工作表是否应隐藏。你提到了一个“名字”的存在,你能详细介绍一下吗?这很有帮助,非常感谢