2014-12-12 12 views
0

Мне нужно изменить ячейку на основе значения других ячеек, и следующий код отлично работает для меня.Измените диапазон ячеек на основе другого диапазона ячеек

Private Sub Worksheet_Change(ByVal Target As Range) 
If Not Intersect(Target, Range("$D$10")) Is Nothing Then _ 
Sheets("contract").Range("$D$11").ClearContents 
End Sub 

Мне нужно продлить этот код на диапазон ячеек, что я имею в виду, F11 должна изменяться в зависимости от F10 и H11 должны меняться в зависимости от H10. Я знаю, что могу их жестко кодировать, но я думаю, что может быть более разумное решение. Пожалуйста, помогите

Благодаря Harsha Ganipineni

+0

использовать ключевое слово «следующий диапазон» для изменения значений ячеек на основе предыдущей ячейки. Вы также можете использовать «D» + «значение ячейки» для установки значения ячейки. – Brain

ответ

0
Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim rng As Range 
    'only react to changes in A10:Z10 
    Set rng = Application.Intersect(Target, Range("A10:Z10")) 
    If Not rng Is Nothing Then '<<EDIT 
      Sheets("contract").Range(rng.address()).Offset(1,0).ClearContents 
    End If 
End Sub 
+0

Привет, Тим, решение не работает, его бросание и ошибка при смещении. – novice

+0

Извините - моя ошибка - пропущена 'Not' из отмеченной строки. Вам нужно будет отрегулировать строку 'Intersect' для диапазона, в котором вы хотите отреагировать на изменения. –

Смежные вопросы