Excel VBA移动单元格的内容并删除读取每一行的行直到数据结束

时间:2015-01-13 15:14:37

标签: excel vba excel-vba

我目前正在尝试为excel vba完成一个宏。我需要阅读每一行。如果A列中的值为空或等于0,我需要将D列的内容从该行向上移动一行并向右移动一列。例如,如果单元格A55为空白,它将读取D55中的值并将其向上移动一行,将一列向右移动到单元格E54。然后它需要删除A55中空白值的整行,因此完全删除第55行。我有以下代码。此代码将逐行读取代码并删除我需要的行;但是我不能让它移动D列中的内容。提前谢谢

Dim ws As Worksheet, iA&, lastRowA&, valueA$,
Set ws = ActiveWorkbook.ActiveSheet

lastRowA = ws.Range("A" & ws.Rows.Count).End(xlUp).Row

For iA = lastRowA To 1 Step -1
    valueA = ws.Cells(iA, 1).value
    ' Check if it contains blank space in "A" column
    If (valueA = "") Then
        'CODE TO MOVE CONTENTS FROM CELL TO NEW LOCATION
        ws.Rows(iA).Delete
    End If
Next

1 个答案:

答案 0 :(得分:1)

For iA = lastRowA To 1 Step -1
    With ws.Rows(iA)
        valueA = .Cells(1).value

        If Len(valueA) = 0 Then
            .Cells(4).Offset(-1, 1).Value = .Cells(4).Value
            .Delete
        End If
    End With
Next