Excel VBA尝试创建新工作表

时间:2014-03-05 21:43:38

标签: excel vba worksheet

我想创建一个新工作表,然后我可以逐个单元格添加数据。我已经尝试过Sheets.Add.Name但它没有用。目前我收到运行时错误“13”感谢任何帮助。

在这种情况下,

ws.Name =“Sheet1”。

Dim mySheet As Worksheet    
j = -1
i = 0
strCounter = 0
For Each ws In ThisWorkbook.Worksheets
    If (InStr(ws.Name, " Logix Friendly") = 0) Then
        ifChecker = True
    Else
        ifChecker = False
    End If
    If ifChecker Then

    Set mySheet = Workbooks.Add
        With mySheet
            .Nasme = ws.Name, " Logix Friendly"
        End With

1 个答案:

答案 0 :(得分:1)

蒂姆·威廉姆斯关于添加新工作表绝对正确。

然而您的逻辑似乎存在缺陷。只有在没有名为“Logix Friendly”的工作表且工作簿中只有一个工作表时,您的代码才有效。

你应该做什么:

For Each ws In ThisWorkbook.Worksheets
    bWS_Found = (InStr(1, ws.Name, "Logix Friendly", vbTextCompare) = 1)
    ' Exit checking if a worksheet already named "Logix Friendly"
    If bWS_Found Then Exit For
Next
' Add worksheet if there isn't a "Logix Friendly" worksheet
If Not bWS_Found Then
    With ThisWorkbook.Worksheets.Add
        .Name = "Logix Friendly"
    End With
End With