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