【发布时间】:2015-04-30 15:30:34
【问题描述】:
我有一个宏,可以将选择从一个工作表 (Sheet1) 复制/粘贴到另一个工作表 (Notes)。它运作良好。现在我想首先检查该工作表是否存在。如果它不存在,我想创建它,然后继续复制/粘贴选择。
当“Notes”工作表存在时,复制/粘贴工作正常。
如果工作表不存在,则会创建它,但粘贴操作不起作用。我没有收到任何错误。我必须重新运行宏,然后粘贴才能工作(因为已经创建了工作表)。关于我错过了什么的任何想法?
Sub Copy2sheet()
Application.ScreenUpdating = False
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Dim mySheetName As String, mySheetNameTest As String
mySheetName = "Notes"
'create worksheet at end of workbook if it does not exist
On Error Resume Next
mySheetNameTest = Worksheets(mySheetName).Name
If Err.Number = 0 Then
GoTo CopyPasteSelection
Else
Err.Clear
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = mySheetName
End If
'copy/paste selection to Notes worksheet
CopyPasteSelection:
Set copySheet = Worksheets("Sheet1")
Set pasteSheet = Worksheets("Notes")
Selection.Copy
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(2, 0).PasteSpecial xlPasteAll
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
【问题讨论】:
-
这不是那个问题的重复。