它工作完美,直到我添加了一個消息框,並從那時代碼將不會重命名工作表,並使用「從(SHEET86)」表名稱複製,而不是。VBA代碼將不會重命名工作表
我有12套由自己的按鈕激活相同的代碼,他們都工作正常,但不是第一個。我甚至從工作宏中複製了一段代碼,並更改了單元格引用,但它不會像代碼中那樣重命名工作表。
我已經在這裏複製了宏,所以您可以看到它們在各方面都是相同的。我已經檢查並重新檢查按鈕是否有正確的宏分配無效,所以想知道是否有其他人以前經歷過這種情況,或者我應該在別處尋找?
Sub copySht1()
On Error Resume Next
Dim mySheetname As String
Dim MyCell As Range, MyRange As Range
Set MyRange = Sheet74.Range("D6")
For p = 1 To 1
mySheetname = MyRange.Text
Sheet86.Copy After:=Sheet84
ActiveSheet.Name = "Schedule - " & mySheetname
ActiveSheet.Range("C1").Value = "Schedule - " & mySheetname
Next p
MsgBox "Schedule for aircraft" & Cells(6, "D") & " Created"
End Sub
Sub copySht2()
On Error Resume Next
Dim mySheetname As String
Dim MyCell As Range, MyRange As Range
Set MyRange = Sheet74.Range("E6")
For p = 1 To 1
mySheetname = MyRange.Text
Sheet86.Copy After:=Sheet84
ActiveSheet.Name = "Schedule - " & mySheetname
ActiveSheet.Range("C1").Value = "Schedule - " & mySheetname
Next p
End Sub
刪除'爲p = 1到1'和'下一個p'從兩個潛艇。 – Vityata
我幾乎不建議:避免使用「On Error Resume Next」,這會使任何錯誤消息靜音,這是非常糟糕的做法!請參閱[VBA良好實踐 - 錯誤處理](http://stackoverflow.com/documentation/excel-vba/1107/vba-best-practices/5411/error-handling) –
我建議:(1)使用Option Explicit ([看看如何](http://stackoverflow.com/documentation/excel-vba/1107/vba-best-practices/3554/always-use-option-explicit))(2)刪除「On Error Resume Next」並運行你的代碼。 (3)[編輯]你的問題,並告訴我們**你在哪裏得到一個錯誤和**錯誤信息是什麼。我認爲這是查看問題的最佳方式。 –