从有条不紊的细胞填充空白行

时间:2018-04-24 23:34:24

标签: excel excel-vba excel-2016 vba

我最初使用了一些脚本,其中工作表中前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列中Jacqui一词旁边的行,但不是燃料或账户。 NB。 Jacqui这个词不是一成不变的。

Excel Sample

1 个答案:

答案 0 :(得分:0)

使用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