我经常使用我希望修改为函数的例程,以便能够立即设置添加的工作表,例如
Set ShP = DeleteAndAddSheet("Name")
所以这是函数:
Public Function DeleteAndAddSheet(ByVal SheetName As String) As Worksheet
For Each aShe In Sheets
If aShe.Name <> SheetName Then
Else
Application.DisplayAlerts = False
aShe.Delete
Application.DisplayAlerts = True
Exit For
End If
Next aShe
Sheets.Add after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = SheetName
DeleteAndAddSheet = ThisWorkbook.Worksheets(Worksheets.Count)
End Function
我收到错误&#39; 91&#39;在设置函数输出的最后一行,&#34;对象变量或With变量未设置&#34;
我尝试使用表格和工作表,但其中任何一个都没有工作......
有什么想法吗?
答案 0 :(得分:3)
变化
DeleteAndAddSheet = ThisWorkbook.Worksheets(Worksheets.Count)
到
set DeleteAndAddSheet = ThisWorkbook.Worksheets(Worksheets.Count)
答案 1 :(得分:0)
您需要将其变为Sub
而Function
除了正在处理的单元格之外无法更改任何内容,因此Application.DisplayAlert
- 语句以及尝试删除工作表会导致它抛出错误。
经过一些测试后,function
似乎会让您:删除工作表,但不会更改应用程序设置。