Ошибка «1004» в excel VBA, но иногда отлично работает
Я продолжаю получать
«Ошибка времени выполнения» 1004 «Определенная приложением или объектная ошибка».
в отношении этих строк.
- Код ошибки VBA. Обязательный объект - тройной флажок, но все еще не работает.
- Ошибка времени выполнения 91: переменная объекта или с не заданной переменной блока
- Ошибка времени выполнения 1004 над надстройкой Excel: Неизвестный путь к файлу
- excel 2007 метод oleobjects объекта не выполнен
- Ошибка Excel VBA 9 Sub Out of Range - возможно, потребуется исправить Last Row / Col
Worksheets("5001 Prog").Range("C12").Value = (y & "'' Ream") Worksheets("5001 Prog").Range("D12").Value = count * 31.5 Worksheets("5001 Prog").Range("E12").Value = daily * 31.5
Дело в том, что этот код работал до того, как я закрыл файл и снова открыл его. Кроме того, если я перестраиваю строки, иногда они работают. Я попытался изменить переменные «count» и «daily» равным «12», а затем обработать их в приведенном выше коде, и он по-прежнему возвращает ошибку.
Я просмотрел несколько ответов для этого кода ошибки и попробовал несколько вещей, упомянутых в этих сообщениях, но ничего не получилось. Я ценю все отзывы, спасибо.
ps Я знаю, что код в инструкции «If» – это дерьмо, я все еще работаю над этим. но код действительно работал в состоянии, когда оператор «if» находится сейчас.
Sub Update_Last() Worksheets("5001 Prog").Unprotect "Welcome1" Worksheets("Drill Log").Unprotect "Welcome1" Dim w As Integer Dim x As Integer Dim y As Integer Dim z As String w = 39 x = Worksheets("Drill Log").Range("E39").Value y = Worksheets("Drill Log").Range("E39").Value z = Worksheets("Drill Log").Range("D39").Value If z = Worksheets("Variables").Range("H10").Value Then Do Until Not x = y y = Worksheets("Drill Log").Range("E" & w).Value w = w + 1 z = Worksheets("Drill Log").Range("D" & w).Value Loop ElseIf z = Worksheets("Variables").Range("H14").Value Then Do Until Not x = y y = Worksheets("Drill Log").Range("E" & w).Value w = w + 1 z = Worksheets("Drill Log").Range("D" & w).Value Loop Else w = w + 1 z = Worksheets("Drill Log").Range("D" & w).Value End If Dim count As Integer count = Application.WorksheetFunction.CountIfs(Worksheets("Drill Log").Range("Drill_Log[Pass Type]"), "Ream", Worksheets("Drill Log").Range("Drill_Log[Size]"), y) Dim daily As Integer daily = Application.WorksheetFunction.CountIfs(Worksheets("Drill Log").Range("Drill_Log[Pass Type]"), "Ream", Worksheets("Drill Log").Range("Drill_Log[Size]"), y, Worksheets("Drill Log").Range("Drill_Log[Foreman]"), Worksheets("5001 Prog").Range("B5").Value, Worksheets("Drill Log").Range("Drill_Log[Date]"), Worksheets("5001 Prog").Range("E4").Value) Worksheets("5001 Prog").Range("C12").Value = (y & "'' Ream") Worksheets("5001 Prog").Range("D12").Value = count * 31.5 Worksheets("5001 Prog").Range("E12").Value = daily * 31.5 Worksheets("5001 Prog").Protect "Welcome1" End Sub
- Ошибка времени выполнения '13' VBA Macro Excel
- Временное решение 1004 - Защитить / Снять защиту в Worksheet_Change
- Сохранять местоположение адреса ячейки переменной в VBA
- Ошибка выполнения 438 при импорте данных в Excel с защищенного веб-сайта с использованием VBA
- Ошибка времени выполнения 13: несоответствие типов
- Excel 2013 сравнивает даты в разных строках с использованием макроса «Ошибка времени выполнения 13, несоответствие типа»
- VBA Excel 2016 - Ошибка времени выполнения «1004»
- Ошибка выполнения 1004 - BeforePrint - Избегайте печати, если ячейки пусты