Это мой первый пост здесь.Я учился тому, как улучшить себя с Excel 2007 медленно, на протяжении многих лет.Я начал использовать некоторый код VB, чтобы ускорить ввод данных во время работы.Поэтому я нашел код в Интернете и начал с этого.Все работало идеально, пока я не применил тот же код к нескольким листам.Теперь я получаю
Ошибка выполнения '1004' :, метод 'Пересечение' объекта '_Global' не удалось
Вот базовая версия, с которой я работаю.Это варьируется на разных листах.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("D:D"), Target)
xOffsetColumn = 5
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now + 365
Rng.Offset(0, xOffsetColumn).NumberFormat = "mm/dd/yyyy"
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
Else
Set WorkRng = Intersect(Application.ActiveSheet.Range("E:E"), Target)
xOffsetColumn = 4
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now + 365
Rng.Offset(0, xOffsetColumn).NumberFormat = "mm/dd/yyyy"
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If
End If
End Sub
Кажется, это проблема, которую я считаю
Set WorkRng = Intersect(Application.ActiveSheet.Range("D:D"), Target)
Я все еще довольно зелен, видя, что я самоучка, любая помощь очень ценится вэта точка.Спасибо