Excel使用上面

时间:2017-11-16 17:36:58

标签: excel excel-vba excel-formula flood-fill vba

希望使用' top'连续填充空白值。值,类似于Editing>Fill>Top提供的功能。不同之处在于Fill函数要求您逐行而不是将自身应用于更大的数据集。示例如下:

Apple   1   foo
Banana  1   foo
        2   foo
            bar
Cherry  2   bar
        3   foo
        6   bar
Grape   1   foo

最终会如下:

Apple   1   foo
Banana  1   foo
Banana* 2   foo
Banana* 2*  bar
Cherry  2   bar
Cherry* 3   foo
Cherry* 6   bar
Grape   1   foo       //new values represented with *

请注意,第二列(2)中的第三个条目也被删除,这意味着可以将其应用于多个列。

此处的值是将具有第一个表中表示的关系Cherry>2, Cherry>3, Cherry>6的表转换为可用作关联表的格式。

1 个答案:

答案 0 :(得分:2)

试试这个短宏:

Sub FillInTheBlanks()
    Dim i As Long, N As Long, j As Long

    N = Cells(Rows.Count, "C").End(xlUp).Row

    For i = 2 To N
        For j = 1 To 2
            If Cells(i, j).Value = "" Then Cells(i, j).Value = Cells(i, j).Offset(-1, 0).Value
        Next j
    Next i
End Sub