将色谱柱保存在另一张纸上

我有这个代码,通常它保存了一个可能性给它一个新的名单,我试图改变它只保存一些列,而不是孔表,但代码显示我eror 1004,任何人都可以帮助我请谢谢,这是我的代码:

Sub save() Worksheets("operations").Activate Dim sName As String Sheets("operations").Range("N1:Q6000").Copy Destination:=Sheets(Sheets.Count) On Error Resume Next Do sName = InputBox("Enter name for the release") If sName = "" Then Application.DisplayAlerts = False ActiveSheet.Delete Exit Sub End If ActiveSheet.Name = sName If ActiveSheet.Name = sName Then Exit Do Beep Loop End Sub 

这是你正在尝试?

 Sub save() Dim sName As String Dim ws As Worksheet sName = InputBox("Enter name for the release") If Not sName = "" Then On Error Resume Next Set ws = Sheets(sName) On Error GoTo 0 If ws Is Nothing Then Sheets.Add after:=Sheets(Sheets.Count) Sheets("operations").Range("N1:Q6000").Copy Destination:=Sheets(Sheets.Count).Range("A1") ActiveSheet.Name = sName Else Beep End If End If End Sub 

几件事…

  1. 首先询问名字。
  2. 不要使用Do循环
  3. 检查用户提供的名称是否与现有工作表不匹配
  4. 指定目的地时,请指定范围。 我用A1作为例子。