Я пытался запустить то, что, как я думал, был простым макросом в течение двух дней, и продолжает работать в этой ошибке:Макрос не может закончить, мой лист слишком большой?
«Excel не может выполнить эту задачу с доступными ресурсами. Выберите меньшее количество данных или закройте другие приложения».
Я хотел бы получить 20 000 итераций из макроса, но ошибка появляется быстрее раньше. Я думаю, что он останавливается около 5000 человек. Хуже всего то, что я не могу сохранить то, что я получаю после. Я знаю, что после этого много итераций есть несколько большое количество данных, но нигде не заполняется весь лист. Я хотел бы иметь возможность запускать макрос, а затем оптимизировать весы вправо.
Код:
Sub Macro1()
Application.ScreenUpdating = False
For i = 1 To 20000
Rows("16:28").Select
Selection.Copy
Range("D1048576").End(xlUp).Offset(2, -3).Select
ActiveSheet.Paste
Selection.Resize(13, 288).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
If i Mod 1000 = 0 Then
ActiveWorkbook.Save
End If
Next i
Application.ScreenUpdating = True
End Sub
Образец данных:
К сожалению, я забыл опубликовать ссылку на книгу:
https://drive.google.com/open?id=0B0F1yWDNKi2vLWhmUDMtU2xsd00
Вы правы, 20 000 итераций не должно быть слишком большим для VBA, однако предоставленной вами информации недостаточно для определения проблемы; может быть несколько причин: 1: ресурсы действительно низкие, закрыть некоторые приложения, 2: попытаться отключить вычисления во время запуска вашего макроса, 3: вам может понадобиться оптимизировать ваш код (как я не видел, t теперь, но большие массивы или рекурсия - это, вероятно, проблемы). Также посмотрите здесь: https://support.microsoft.com/en-us/kb/2779852 –
Это не общедоступная ссылка. Плохой пользователь. – Jeeped
К сожалению, ссылка должна быть общедоступной – user3390169