excel vba宏上的IF-THEN-ELSE语句

excel vba宏上的IF-THEN-ELSE语句,vba,excel,Vba,Excel,您好,我需要一些帮助,告诉我如何调整搜索的宏,选择工作表“sheet9”并继续宏 有时该工作表未在工作簿中创建 所以在这里我需要关于语法的帮助,它应该是怎样的 ''''''''''''''''''' example not valid macro!! '''''''''''''''''''''' Search worksheet "sheet9" in active workbook if "sheet9" not found then create.worksheet"sheet9" ELS

您好,我需要一些帮助,告诉我如何调整搜索的宏,选择工作表“sheet9”并继续宏

有时该工作表未在工作簿中创建

所以在这里我需要关于语法的帮助,它应该是怎样的

''''''''''''''''''' example not valid macro!! ''''''''''''''''''''''
Search worksheet "sheet9" in active workbook 
if "sheet9" not found then create.worksheet"sheet9"
ELSE 
sheets("sheet9").select
希望这是有道理的

  • 开始
  • 搜索工作表“sheet9”
  • 如果未找到工作表“sheet9”
  • 然后创建工作表“sheet9”
  • 否则,如果找到,请选择工作表“sheet9”
  • 结束

  • 下面是如何查找然后创建或选择工作表的示例

    Dim ws As Worksheet
    Dim bFound As Boolean
    bFound = False
        For Each ws In ActiveWorkbook.Sheets
            If ws.Name = "sheet9" Then
                bFound = True
                Exit For
            End If
        Next ws
    
        If bFound Then
            Sheets("sheet9").Select
        Else
            Set ws = ActiveWorkbook.Worksheets.Add
            ws.Name = "sheet9"
            ws.Select
        End If
    

    下面是如何查找然后创建或选择工作表的示例

    Dim ws As Worksheet
    Dim bFound As Boolean
    bFound = False
        For Each ws In ActiveWorkbook.Sheets
            If ws.Name = "sheet9" Then
                bFound = True
                Exit For
            End If
        Next ws
    
        If bFound Then
            Sheets("sheet9").Select
        Else
            Set ws = ActiveWorkbook.Worksheets.Add
            ws.Name = "sheet9"
            ws.Select
        End If
    
    您可以搜索工作表,然后决定执行什么操作,也可以尝试选择它,如果出现错误,则创建它:

    Sub Sheet9()
        On Error GoTo Create
        Worksheets("Sheet9").Select
        Exit Sub
    Create:
        Worksheets.Add.Name = "Sheet9"
    End Sub
    
    您可以搜索工作表,然后决定执行什么操作,也可以尝试选择它,如果出现错误,则创建它:

    Sub Sheet9()
        On Error GoTo Create
        Worksheets("Sheet9").Select
        Exit Sub
    Create:
        Worksheets.Add.Name = "Sheet9"
    End Sub
    

    键入,您将获得大量的方法来执行此操作。看起来您的代码错误是将
    创建.工作表“sheet9”
    放在
    的同一行,然后
    这不是一个有效的宏,我认为他在使用伪代码,试图更好地解释他认为应该如何工作,而不是实际上说这是我正在尝试的代码。键入,这样做的方法会堆积如山。看起来你的代码错误是将
    创建.工作表“sheet9”
    放在
    的同一行,然后
    这不是一个有效的宏。我想他是在使用伪代码,试图更好地解释他认为应该如何工作,实际上并没有说这是我正在尝试的代码。@Mohammed,您试图编辑一篇文章,指出您收到了一个错误,即不能分配给只读属性。此示例是有效的,并执行其预期的操作,查找图纸并创建它。您可能希望发布包含编辑内容的代码,以确定收到该错误的原因。很抱歉,如果“sheet9”已在工作簿中,并且无法创建相同的工作表名称,会发生什么情况?@Mohammed您需要发布代码,因为这是一个有效的snippit,执行预期的操作,并且经过多次测试。这非常有效。。谢谢你@Sorceri你的astar@Mohammed您试图编辑帖子,声明收到“无法指定为只读属性”错误。此示例是有效的,并执行其预期的操作,查找图纸并创建它。您可能希望发布包含编辑内容的代码,以确定收到该错误的原因。很抱歉,如果“sheet9”已在工作簿中,并且无法创建相同的工作表名称,会发生什么情况?@Mohammed您需要发布代码,因为这是一个有效的snippit,执行预期的操作,并且经过多次测试。这非常有效。。谢谢你@Sorceri你的a星