Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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
Vba 检查最后一个工作表的名称_Vba_Excel - Fatal编程技术网

Vba 检查最后一个工作表的名称

Vba 检查最后一个工作表的名称,vba,excel,Vba,Excel,我试图检查最后一张工作表的名称,看看它是否等于“Field_10”。如果有,我不希望它做任何事情,但如果没有,我想添加新的工作表 只有一张标题为“Sheet1”的工作表时的预期输出: 输出“添加新工作表”,并添加标题为字段_1的十张新工作表,一直添加到字段_10 已添加图纸(字段_1,…,字段_10)时的预期输出: 输出“已添加新工作表”并退出if语句 我加入了MsgBoxes来帮助调试。问题是,无论我是否检查最后一张图纸的名称是否等于“Field_10”或不等于“Field_10”,它总是输出

我试图检查最后一张工作表的名称,看看它是否等于
“Field_10”
。如果有,我不希望它做任何事情,但如果没有,我想添加新的工作表

只有一张标题为“Sheet1”的工作表时的预期输出: 输出“添加新工作表”,并添加标题为字段_1的十张新工作表,一直添加到字段_10

已添加图纸(字段_1,…,字段_10)时的预期输出: 输出“已添加新工作表”并退出if语句

我加入了
MsgBox
es来帮助调试。问题是,无论我是否检查最后一张图纸的名称是否等于“Field_10”或不等于“Field_10”,它总是输出“New sheets ready added”

如果此工作簿.Worksheet(Worksheet.Count).Name=“Field\u 10”则
'如果此工作簿.Worksheets(Worksheet.Count).Name为“Field_10”,则
MsgBox(“已添加新图纸”)
其他的
MsgBox(“添加新图纸”)
出错时继续下一步
对于h=1到10
Worksheets.Add(之后:=Worksheets(Worksheets.Count)).Name=“Field_u3;”&CStr(h)
下一个h
如果结束
任何帮助都将不胜感激。

请使用以下子项:

    Sub AddSheets()
    Dim NewSheetNo As Integer

        If ThisWorkbook.Worksheets(Worksheets.Count).Name = "Field_10" Then
           MsgBox ("New sheets already added")
        Else
           MsgBox ("New sheets are being aded...")
            On Error Resume Next
            For NewSheetNo = 1 To 10
                Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Field_" & NewSheetNo
            Next
        End If
    End Sub

第一行输入错误<代码>工作表.计数应该是
工作表.计数
@chrisneilsen多可笑的错误啊。现在修好了,谢谢!
    Sub AddSheets()
    Dim NewSheetNo As Integer

        If ThisWorkbook.Worksheets(Worksheets.Count).Name = "Field_10" Then
           MsgBox ("New sheets already added")
        Else
           MsgBox ("New sheets are being aded...")
            On Error Resume Next
            For NewSheetNo = 1 To 10
                Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Field_" & NewSheetNo
            Next
        End If
    End Sub