检查单元格vba中是否存在名称表中的值

我有一个代码概念的问题。

我只是编写了一些东西,看看列(与500 +单元格),如果一个单元格的值不存在作为工作表名称(在同一个工作表),然后创build该单元格中的值名称的工作表。

这是我的代码:

' Si le ticker existe mais pas l'onglet,créé l'onglet LastRowData = Data.Cells(Data.Rows.Count, "A").End(xlUp).Row 'trouve la dernière ligne de Data LastColumnData = Data.Cells(1, Data.Columns.Count).End(xlToLeft).Column 'trouve la dernière colonne de Data For i = 2 To LastRowData For Each sht In Perftitres.Worksheets If Not SheetExists(Data.Cells(i, 9), Perftitres) Then Worksheets.Add.Name = Data.Cells(i, 9) ActiveSheet.Move After:=Worksheets(2) End If Next sht Next i 

此代码工作。 SheetExist是一个函数,如果表单存在,则返回true,否则返回false。

不过,我现在要做的是反面的:

如果工作表作为不在列中的名称,则隐藏此工作表。 我无法弄清楚…我想看看每个工作表中的第一个(这是数据)。 如果名称出现在列中,则什么也不做。 如果不是,那就隐藏表格。

谢谢。

未经testing,但是这样的事情:

 Dim sName As String, m, sht As Worksheet LastRowData = Data.Cells(Data.Rows.Count, "A").End(xlUp).Row LastColumnData = Data.Cells(1, Data.Columns.Count).End(xlToLeft).Column 'Hide any unmatched sheets (and unhide any matched ones) For Each sht In Perftitres.Worksheets m = Application.Match(sht.Name, Data.Cells(2, 9).Resize(LastRowData, 1), 0) sht.Visible = IIf(IsError(m), xlSheetHidden, xlSheetVisible) Next sht 'add any missing sheets For i = 2 To LastRowData sName = Data.Cells(i, 9).Value If Not SheetExists(sName, Perftitres) Then With Perftitres.Worksheets.Add(After:=Perftitres.Worksheets(2)) .Name = sName End With End If Next i