Этот код отлично работает. Потом просто перестало работать. Если я удалю строку, она сработает один раз, а затем снова выйдет из строя:
Ошибка 1004 возникает в этой строке ниже в коде, когда достигается «порог» независимо от того, что его вызывает:
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Вот макрос Excel VBA:
Sub InsertNewRow()
'
' InsertNewRow Macro
' Inserts a new row at row 2 and adds the date/time and user name.
'
' Keyboard Shortcut: Ctrl+Shift+N
'
ActiveSheet.Rows("2:2").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveSheet.Range("H2").Select
ActiveCell.FormulaR1C1 = Now()
ActiveSheet.Range("J2").Select
ActiveCell.FormulaR1C1 = UCase(Application.UserName & "")
ActiveSheet.Range("A2").Select
End Sub
Любая идея о том, ПОЧЕМУ это происходит и как это можно предотвратить навсегда?
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
Данные находятся в таблице на листе. Если я просто выберу строку, а затем попытаюсь вставить ее вручную, опция INSERT будет недоступна.
Если я выберу строку таблицы полностью, а затем попытаюсь вставить строку таблицы, опция добавления строк в таблицу также будет недоступна. Кажется, это ограничение таблиц в формате Excel. Я не уверен, почему он не может обрабатывать менее 6000 строк. Кажется глючит.
Я попробовал это, чтобы увидеть, было ли это пределом самой таблицы:
...Получил эту ошибку: