我目前正在尝试为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
答案 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