2016-07-29 75 views
0

我有這樣的代碼,通常它會保存一張表格,以便給它一個新的名稱,我試圖將其更改爲只保存一些列而不是孔表,但代碼顯示我錯誤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 

回答

1

這是你想什麼呢?

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爲例。
+0

非常感謝,正是我所需要的thanx – mateos

相關問題