Я встретив ошибку в MS Excel, когда выполняется следующий код VB и функция «Отслеживание изменений» включено:VB Ошибка в Excel
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If IsEmpty(Target) Then
Target.Offset(0, 1).Value = Empty
Else
Target.Offset(0, 5).Value = Now()
End If
End If
End Sub
кажется, что я могу ввести данные в первый 2 строки просто прекрасны, но как только я начинаю заполнять данные в третьей строке и далее, я получаю сообщение об ошибке «1004 времени выполнения», определяемой приложением или объектной ошибкой ».
Это в vb.net или в редакторе VBA Excel (например, вкладка разработчика -> Visual Basic)? Можете ли вы добавить точку останова в редакторе, чтобы определить, где в коде возникает эта ошибка? – Sam
Это работает для меня в Excel 2010. Обратите внимание, что с изменениями дорожек ON в Excel 2010 (и, возможно, 2007) вы не сможете использовать макросы в файле общей книги. –
Также обратите внимание, что вы можете использовать 'Application.EnableEvents = False' в начале этого кода и' Application.EnableEvents = True' в конце этого кода, чтобы предотвратить ненужный цикл (оператор if/else ALSO запускает _Change событие и запускает макрос второй раз, что не нужно). –