我想创建一个新工作表,然后我可以逐个单元格添加数据。我已经尝试过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
答案 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