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