Excel 将范围项从一个工作表复制到新创建的工作表时获取运行时错误
我似乎无法将内容从一个工作表复制粘贴到另一个工作表-我遇到了一个运行时错误,我不明白为什么。。。请开导我 代码如下:Excel 将范围项从一个工作表复制到新创建的工作表时获取运行时错误,excel,vba,Excel,Vba,我似乎无法将内容从一个工作表复制粘贴到另一个工作表-我遇到了一个运行时错误,我不明白为什么。。。请开导我 代码如下: 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 worksheetExist
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
我把代码通读一遍,直到出现(单元格)。粘贴
事实上,我如何将所有项目从一个工作表复制到另一个工作表-如果存在具有该名称的工作表,请将其清除,然后从头开始将内容粘贴到其中
提前感谢……未经测试,但其他操作可能会放弃选择。尝试将.Copy行直接放在.Paste行之前,然后给出起始单元格,如
Sheets(cell).Range(“A1”)。粘贴,或者直接粘贴
Sheets("skeleton").Range("A1:S21").Copy Sheets(cell).Range("A1")
包括重新复制整个工作表的问题;您可以复制整个工作表并粘贴到新工作表中,而不必首先清除单元格,或者您可以删除工作表(如果存在),然后复制所需的工作表并重命名:
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,并且在删除工作表后,您可能还需要更改on error。您会遇到什么运行时错误以及错误发生在哪一行。如果这有助于其他用户,请将此标记为答案