宏查找空白单元格并替换

时间:2013-06-18 14:00:19

标签: excel excel-vba vba

我有两列数据,A和B.我想在B列中找到空白单元格,然后如果A不是空白则从A列中的相应单元格复制数据。

3 个答案:

答案 0 :(得分:1)

Sub Sample2()

On Error Resume Next

With Columns("B").SpecialCells(xlCellTypeBlanks)
    .FormulaR1C1 = "=RC[-1]"
    .Value = .Value
End With

End Sub

如果A中的单元格为空,这就不会像你要求的那样跳过一个空白单元格,这是不完全的,这是因为我没有看到为什么用另一个空白替换和空白将是一个问题。如果只是修改.FormulaR1C1 = "=RC[-1]"以考虑空白,则可以轻松解决问题。

答案 1 :(得分:1)

不需要VBA。选择ColumnB,HOME>编辑,查找&选择,转到特殊...,选择空白(仅限),

=  

Ctrl + 输入

答案 2 :(得分:0)

我会使用SpecialCells:

Sub fillblanks()
Dim rngBlanks As Range
Dim rng As Range
Dim cl As Range

Set rng = ActiveSheet.UsedRange.Columns(2)
Set rngBlanks = rng.SpecialCells(xlCellTypeBlanks)
For Each cl In rngBlanks.Cells
    With cl
        If (.Value = "") And (.Offset(0, -1).Value <> "") Then
            .Value = .Offset(0, -1).Value
        End If
    End With
Next

End Sub