Если ячейка в диапазоне не равна пустому, примените строку к ячейке в другом диапазоне - PullRequest
0 голосов
/ 21 января 2020

У меня есть два диапазона. («A2: A81, H2: H81») и («E2: E81, L2: L81»)

(«A2: A81, H2: H81») = диапазон поиска и
(«E2 : E81, L2: L81 ") = диапазон строк

У меня есть диапазон (A2: A81, H2: H81), где я проверяю, не является ли ячейка в диапазоне не пустой. Если одна из этих ячеек в этом диапазоне не пуста, а ячейка в «диапазоне строк» ​​пуста, я хочу поместить строку «Без перфорации» в ячейку для этого диапазона.

Пример: Если ячейка A10 не пусто, а E10 пусто, при запуске макроса вставьте строку «Без перфорации».

Это не работает. Я могу использовать только для каждого оператора (без if), но он заполняет все пустые ячейки диапазона и не проверяет другой диапазон.

Sub FinishSheet()

    If (Worksheets("GerriSheet").Range("A2:A81,H2:H81").Value = "") Then

    For Each cell In Range("E2:E81,L2:L81")
        If cell.Value = "" Then
            cell.Value = "No Punch"
        End If
    Next cell

    Else
        'Do nothing
    End If

End Sub

1 Ответ

4 голосов
/ 21 января 2020

Вы хотите l oop диапазон критериев и использовать Offset ()

Sub FinishSheet()
    For Each cell In Worksheets("GerriSheet").Range("A2:A81,H2:H81")
        If cell.Value = "" And cell.Offset(, 4).Value <> "" Then
            cell.Offset(, 4).Value = "No Punch"
        End If
    Next cell
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...