我想知道如果工作簿中存在工作表,是否有干净的剪切功能返回True或False?
如果可以在不跳过错误处理的情况下做到这一点,这将是很好的,但不是必须的。
我发现唯一不起作用的是:
On Error Resume Next
If (Worksheets("wsName").Name <> "") Then
Debug.Print "Worksheet exists!"
Else
Debug.Print "Worksheet doesn't exist!"
End If
On Error GoTo ErrHandler发布于 2011-05-18 13:57:01
没有错误处理的版本:
Function sheetExists(sheetToFind As String) As Boolean
sheetExists = False
For Each sheet In Worksheets
If sheetToFind = sheet.name Then
sheetExists = True
Exit Function
End If
Next sheet
End Function发布于 2011-05-18 13:47:31
这方面没有内置的函数。
Function SheetExists(SheetName As String, Optional wb As Excel.Workbook)
Dim s As Excel.Worksheet
If wb Is Nothing Then Set wb = ThisWorkbook
On Error Resume Next
Set s = wb.Sheets(SheetName)
On Error GoTo 0
SheetExists = Not s Is Nothing
End Function发布于 2013-06-14 00:11:24
也是一个略有不同的版本。我只是做了一个appllication.sheets.count来知道我有多少个附加的a工作表。好了,再给我改个名字
Sub insertworksheet()
Dim worksh As Integer
Dim worksheetexists As Boolean
worksh = Application.Sheets.Count
worksheetexists = False
For x = 1 To worksh
If Worksheets(x).Name = "ENTERWROKSHEETNAME" Then
worksheetexists = True
'Debug.Print worksheetexists
Exit For
End If
Next x
If worksheetexists = False Then
Debug.Print "transformed exists"
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "ENTERNAMEUWANTTHENEWONE"
End If
End Subhttps://stackoverflow.com/questions/6040164
复制相似问题