如何遍历K列中的每一行,直到A列为空

时间:2019-06-03 20:10:11

标签: excel vba is-empty do-loops

我是VBA的新手,正在尝试弄清楚如何做:

  • 遍历K列中的所有行,直到A为空
  • 如果K列中的单元格为空,则将其填充到E列同一行中的值
  • 如果K仍然为空,则在G列的同一行中填充该值
  • 如果K仍然为空,请在第一列的同一行中填充该值

我可以很轻松地让代码查看某一特定行,但是我不知道如何使它遍历A不为空的所有行。

     Sub FillEmptyCells()

     Dim Lastrow As Long

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

     Do Until IsEmpty("A1:A")

     If IsEmpty(Range("K1").Value) = True Then
       Range("K1") = Range("E1")
     End If

     If IsEmpty(Range("K1").Value) = True Then
       Range("K1") = Range("G1")
     End If

     If IsEmpty(Range("K1").Value) = True Then
       Range("K1") = Range("I1")
     End If

     Loop

     End Sub

1 个答案:

答案 0 :(得分:1)

这里是一种方法:

Sub tgr()

    Dim ws As Worksheet
    Set ws = ActiveWorkbook.ActiveSheet

    With ws.Range("K1:K" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)
        .Formula = "=IF(E" & .Row & "<>"""",E" & .Row & ",IF(G" & .Row & "<>"""",G" & .Row & ",I" & .Row & "))"
        .Value = .Value
    End With

End Sub