Я пытаюсь заставить свою электронную таблицу автоматически заполнять соответствующую ячейку, когда одна из связанных ячеек была изменена.Ранее я только что определил цель как:
If Target.Address = "$A$5" then
и не было проблем.Однако теперь моя цель может быть одной из многих ячеек, и я прочитал, что метод пересечения должен быть в состоянии работать для этого, но когда я ввожу свой код как:
If Intersect(Target, Range(Cells(12,2), Cells(12,j-1))) Is Nothing Then
(я пытаюсь изменить ячейкиниже цели, причем целью является любая из ячеек между 12B и 12 (j-1) с j, ранее определенным) Я получаю следующую ошибку: «Ошибка времени выполнения« 1004 »: ошибка приложения или объекта«Но из того, что я могу сказать, мой код точно такой же, как и во всех примерах.
Мой полный код (хотя может быть и не связанная ошибка с моим vlookup также)
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range(Cells(12, 2), Cells(12, j-1))) Is Nothing Then
If IsEmpty(Target) Then
Target.Interior.ColorIndex = 19
Else:
If Range("$A$13").Value = "" Then
Range("$A$13").Value = "Care Type"
Range("$A$13").Font.Bold = True
End If
Target.Interior.ColorIndex = xlNone
Target.Offset(1, 0).Interior.ColorIndex = 19
Target.Offset(2, 0).Value = Application.WorksheetFunction. _
VLookup(Target, Sheets("Sheet2").Range("$E$3:$F$6"), 2)
Target.Offset(2, 0).Font.Bold = True
i = 2
Do Until IsEmpty(Cells(11, i))
If Cells(11, i).Value <= ChildCount Then
Cells(12, i).Interior.ColorIndex = 19
End If
i = i + 1
Loop
End If
End If
End Sub