我似乎无法将内容从一个工作表复制并粘贴到另一个工作表 - 我收到运行时错误,我不明白为什么......请赐教......
这是代码:
Dim cell As String
For i = 2 To cat_lastRow
Sheets("Sheet1").Select
cell = ActiveSheet.Cells(i, cat_col).Value
Sheets("skeleton").Range("A1:S21").Copy
If Not worksheetExists(cell) Then
ActiveWorkbook.Sheets.Add.Name = cell
Else
Sheets(cell).Cells.Clear
End If
Sheets(cell).Paste
...
Next i
我查看代码直到Shees(单元格).Paste
实际上,如何将所有项目从一个工作表复制到另一个工作表 - 如果存在具有该名称的工作表,则将其清除,然后从头开始将内容粘贴到其中。
提前感谢...
答案 0 :(得分:0)
......未经测试,但其他行动可能会丧失选择权。尝试将.Copy-line直接放在.Paste-line之前,然后给出起始单元格,如Sheets(cell).Range("A1").Paste
或直接
Sheets("skeleton").Range("A1:S21").Copy Sheets(cell).Range("A1")
答案 1 :(得分:0)
包括您的问题,重新复制整个工作表;您可以复制整个工作表并粘贴到新工作表而不必先清除单元格,或者如果存在则删除工作表,然后复制所需的工作表并重命名:
Dim cell As String
For i = 2 To cat_lastRow
Sheets("Sheet1").Select
cell = ActiveSheet.Cells(i, 1).Value
' Turn off alert that you are deleting sheet
Application.DisplayAlerts False
' Resume next on error if the sheet does not already exist
On Error Resume Next
Sheets(cell).Delete
' Rest your error handle
On Error GoTo 0
Sheets("skeleton").Copy after:=Sheets("Sheet3")
ActiveSheet.Name = cell
Next i
确保在代码末尾放置Application.DisplayAlerts True,并且在删除工作表后可能还需要更改错误。