Условно чистое содержимое диапазона ячеек в строке на основе значения ячейки

У меня есть файл excel с двумя листами: Sheet1 и Sheet2. Лист 1 имеет информацию о магазине, в то время как лист 2 имеет количество продукта по информации магазина

В листе 1 диапазон «A1: A5» содержит 5 названий магазинов: «Хранить с A до хранилища E», а диапазон «B1: B5» в листе 1 – это раскрывающееся окно, которое позволяет пользователю выбрать один из следующих вариантов: «Открыть», Закрыто ", или" ".

В листе 2 есть таблица, в которой указано количество продуктов в магазине. Что-то вроде:

введите описание изображения здесь

Я ищу способ очистить содержимое диапазона B: F в Sheet2, если соответствующее хранилище в Sheet1 не настроено на «Открыть».

В настоящее время я связываю значения в столбце B от Sheet1 до столбца G в Sheet2 и устанавливаю код в Sheet2:

Private Sub Worksheet_Activate() If Range("G2") <> "Open" Then Range("B2:F2").ClearContents End If 

Как я могу выполнить это в цикле, а не копировать этот код пять раз подряд?

Что-то вроде этого?

 For i = 2 To 6 'This is the starting row (2) to the ending row (6) If Range("G" & i) <> "Open" Then 'We use i to dynamically build the range as a string Range("B" & i & ":F" & i).ClearContents End If Next i 
Давайте будем гением компьютера.