Я писал макрос, и когда я запускаю программу, он отлично работает при чтении первой строки, но когда он обходит вокруг и делает вторую строку, я получаю сообщение об ошибке, говорит автоматизация проблема и макрос закрывается. Мне было интересно, что происходит, что отлично работает для первого цикла, но не для второго.Макро останавливается после первой строки, ошибка автоматизации
В принципе, я хочу, чтобы макрос делал это, читал строки 8 - 25, если ячейка имеет дату в ячейке (i) (i 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
'IsDate (Ячейки (i, 2))' как компьютер знает, какую ячейку вы хотите здесь? Вы знаете, как это сделать, потому что позже вы сделали «blank.Cells (i,« A »)'^_^ – findwindow
, если ячейка имеет дату, а затем скопируйте всю строку. –
, если ячейка не имеет на ней даты, затем остановите макрос. В основном я хочу, чтобы он читал столбец b, строки 8-25, пока не будет даты в столбце b и сохраните другую книгу, когда это будет сделано. –