根据范围检查工作表名称,如果没有找到工作表,则使用范围中的名称创建新工作表



我有一个工作簿,目前有两个表MI和Validation。验证表列二有名字,我需要一个代码,应该运行ok打开文件,检查表是否已经创建了所有的名字在列2,例如,如果有5个名字从范围B2:B7,那么5页应该创建,如果表没有创建,那么它应该创建新的表与名称列的名称。我尝试了一些东西,但都没有成功,对不起,由于工作的原因不能粘贴代码。

尝试vba代码,但由于工作系统原因无法共享。

可以遍历"Validation"的第二列中的工作表名称。并检查工作簿中是否已存在该名称的工作表。如果工作表不存在,可以使用"工作表"的.Add方法。对象创建一个新的工作表,其名称取自循环中的当前单元格。

Sub CreateSheets()
Dim wsValidation As Worksheet
Set wsValidation = ThisWorkbook.Sheets("Validation")
Dim lastRow As Long
lastRow = wsValidation.Cells(wsValidation.Rows.Count, 2).End(xlUp).Row
Dim sheetCount as Integer
sheetCount = ThisWorkbook.Sheets.Count
Dim i As Long
For i = 2 To lastRow
Dim sheetName As String
sheetName = wsValidation.Cells(i, 2).Value
If Not ThisWorkbook.Sheets(sheetName) Is Nothing Then
' sheet already exists, do nothing or add an action to do if it does
Else
' sheet doesn't exist, create it and add it after the last sheet
ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(sheetCount)).Name = sheetName
End If
Next i
End Sub

相关内容

  • 没有找到相关文章

最新更新