Заполнение пустых строк из ячеек выше условно - PullRequest
0 голосов
/ 25 апреля 2018

Первоначально я использовал какой-нибудь скрипт, в котором пустые строки в первых 3 столбцах данных на моем листе были заполнены из предыдущей строки. Сценарий:

    Dim cell As Range, SearchRange As Range

    On Error Resume Next
    Set SearchRange = Columns("A:C").SpecialCells(xlCellTypeBlanks)
    On Error GoTo 0

    If Not SearchRange Is Nothing Then
        For Each cell In SearchRange

          If cell.row > 1 Then cell = cell.Offset(-1, 0).Value

        Next cell
    End If

Хотя это хорошо для пустых строк между этими столбцами, у меня есть проблема, когда пробелы находятся рядом с текстом в столбце D, я не хочу его заполнять. Я пробовал что-то вроде:

   If Not Like "*FUEL*" Or Like "ACCOUNTS*"

все же у меня проблемы с синтаксисом при использовании этого в условном выражении. Мой вставленный фрагмент будет иметь смысл ... Я надеюсь. Я хочу заполнить только строку рядом со словом Жаки в столбце D, но не «Топливо» или «Счета». NB. Слово Жаки не является постоянным.

Образец Excel

1 Ответ

0 голосов
/ 25 апреля 2018

Используйте cell.row для ссылки на столбец D.

Dim cell As Range, SearchRange As Range

On Error Resume Next
Set SearchRange = Columns("A:C").SpecialCells(xlCellTypeBlanks)
On Error GoTo 0

If Not SearchRange Is Nothing Then
    For Each cell In SearchRange
        If cell.Row > 1 And Not (Cells(cell.Row, "D") Like "ACCOUNTS*" Or Cells(cell.Row, "D") Like "FUEL*") Then _
            cell = cell.Offset(-1, 0).Value
    Next cell
End If
...