Не могли бы вы помочь мне добиться следующего:
У меня есть данные в диапазоне A9:G15
, заданные в таблице, где A9:G9
содержит заголовки.
Я используюмакрос, который очищает некоторые соседние ячейки соседних столбцов в диапазоне B10:G15
один раз $A$10
, очищается или изменяется.Однако макрос, кажется, очищает только соседние ячейки в диапазоне B10:G10
, оставляя данные в диапазоне B11:B15
не очищенными.Это потому, что я не очищаю ячейки в A11:A15
, так как не хочу, чтобы пользователи вводили данные в Range A11:A15
.Вот макрос, который я использую:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("$A10:A15")) Is Nothing Then
Target.Offset(0, 1).ClearContents
Target.Offset(0, 2).ClearContents
Target.Offset(0, 3).ClearContents
Target.Offset(0, 4).ClearContents
ElseIf Not Intersect(Target, Range("B10:B15")) Is Nothing Then
Target.Offset(0, 1).ClearContents
Target.Offset(0, 2).ClearContents
Target.Offset(0, 3).ClearContents
ElseIf Not Intersect(Target, Range("C10:C15")) Is Nothing Then
Target.Offset(0, 1).ClearContents
Target.Offset(0, 2).ClearContents
ElseIf Not Intersect(Target, Range("D10:D15")) Is Nothing Then
Target.Offset(0, 1).ClearContents
End If
End Sub
Чтобы исправить это, я ввел эту формулу в ячейки A11:A15
IF($A$10="","", $A$10)
и установил шрифтот A11:A15
до серого цвета и заливки до серого, чтобы пользователи не видели повторение в этих ячейках и знали, что им не следует вводить данные в эти ячейки.
Однако, похоже, что использованный выше макрос не распознает "" в A11:A15
(который возвращается по формуле) как акт очистки любой из ячеек в A11:A15
.
Обратите внимание, что мне нужно применить макрос к любой новой строке, вставленной в таблицу позже.
Пожалуйста, сообщите мне, ребята.
Большое спасибо