簡體   English   中英

運行時錯誤“1004”

[英]Run time error '1004'

以下是我收到的錯誤消息:

運行時錯誤“1004”無法運行宏“Do_Special_Copy”。 宏在此工作簿中可能不可用,或者可能禁用了所有宏。

我有三個具有相似字段的工作表,我想合並到另一個名為宏的工作表中,下面是宏的代碼:

Sub Data_Consol()

End Sub

Sub WBLoop()

 Dim wb As Workbook, x As String
 For Each wb In Workbooks
    If wb.Name <> "Macro template" Then
         x = wb.Name
         Workbooks(x).Activate
    End If
    Call Copy_Paste
 Next wb

 ActiveCell.Offset(0, 1).Select

 Range(Selection, Selection.End(xlUp)).Select

Selection.Offset(1, 0).Select

Range(ActiveCell, ActiveCell.End(xlToLeft)).Select

Range(Selection, Selection.End(xlDown)).Select

Selection.EntireRow.Delete

Range("A1").Activate

Sheets("Template").Select
Sheets("AddFormulae").Visible = True

Sheets("AddFormulae").Select
Range("X2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Application.Run "Do_Special_Copy"
Sheets("Template").Select
Range("X2").Select
ActiveSheet.Paste
Columns("X:AD").Select
Columns("X:AD").EntireColumn.AutoFit

Sheets("Template").Select
Sheets("AddFormulae").Visible = False

Range("A1").Select

End Sub

Sub Copy_Paste()
Dim wb As Workbook
 Range("A2").Select
 Range(Selection, Selection.End(xlDown)).Select

' Select

Application.Run "Do_Special_Copy"
Windows("Macro template.xlsm").Activate

' Need to add in code here to find first empty row

ActiveSheet.Range("A" & Rows.Count).End(xlUp).Offset(1).Select

ActiveSheet.Paste

Selection.End(xlDown).Select
Rows(ActiveCell.Row).EntireRow.Delete
ActiveWindow.SmallScroll Down:=3

End Sub

Sub SelectWorkbook()
'
' SelectWorkbook Macro
'
Windows("ESMS CTSM Q - Call Back.xlsx").Activate
End Sub

我之前遇到過同樣的錯誤,取消保護工作表可以解決問題(嘗試取消保護您的工作表,如果受保護,您嘗試粘貼數據的位置)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM