macros停止后,第一行,自动化错误

我正在写一个macros,当我运行该程序时,读取第一行时运行正常,但当它循环,并做第二行时,我得到一个错误,说自动化问题,macros退出。 我想知道是怎么回事,它的第一个循环,但不是第二个罚款。

基本上,我想让macros读取第8 – 25行,如果单元格(i)中有一个date(我是8,9,10等),则B列复制行并粘贴到另一个工作簿。

任何机构有任何想法? 谢谢! 🙂

Sub Update() Dim Request As Workbook Dim blank As Worksheet Dim oakfield As Workbook Set Request = Workbooks("Request_Microbiological_Analysis(blank).xlsm") Set blank = Request.Worksheets("blank") Set oakfield = Workbooks.Open("O:\_Public\Quality_Oakfield.xlsm") With ThisWorkbook Dim i As Long For i = 8 To 25 If IsDate(Cells(i, 2)) Then blank.Cells(i, "A").Resize(, 12).Copy oakfield.Worksheets("Microlog").Range("A" & Rows.Count).End(xlUp).Offset(1).Select Selection.PasteSpecial xlPasteValuesAndNumberFormats ActiveWorkbook.Save ActiveWorkbook.Close ElseIf IsEmpty(Cells(i, 2)) Then MsgBox "Oakfield Quality Updated" End If Next i End With MsgBox "Quality System Updated" End Sub 

这里的问题似乎是由于您在循环中closures了ActiveWorkbook ,但是不要再打开它。 当工作簿对象未被打开时,通常会引用automation error 。 您需要等到循环后closures工作簿。