繁体   English   中英

如何循环直到最后一行?

[英]How to do a loop until last row?

我正在尝试在我的电子表格上执行一个循环,该循环沿着行向下工作,直到它到达数据表中的最后一行。

我在单元格P1中有一个公式,然后将其复制到G1中,循环无限向下运行到G200G201等。如何让它停在最后一行?

这是我已经尝试过的代码。

Dim output As Worksheet
Dim Lastrow As Long
Dim i As Integer

i = 1
Lastrow = .Range("A" & .Rows.Count).End(xlUp).Row
Set output = ThisWorkbook.Worksheets("Output")
output.Range("P1").Value = "=SUM(Q1,R1)"

Do Until Lastrow = True
    output.Range("P1").Copy Destination:=output.Cells(i, 7)
    i = i + 1
Loop

我目前有 21 行数据(虽然这不是 static),在这种情况下它应该循环基本上 21 次。

不需要循环:

Sub NU112()
    Dim output As Worksheet
    Set output = ThisWorkbook.Worksheets("Output")

    Dim Lastrow As Long
    Lastrow = output.Range("A" & output.Rows.Count).End(xlUp).Row

    output.Range("G1:G" & Lastrow).Formula = "=SUM(Q1,R1)"
End Sub

For 循环更适合循环通过单元格。 我把所有东西都放在一个 with 块中,这样你就不需要不断地限定范围。

Dim output As Worksheet
Dim Lastrow As Long
Dim i As Integer

Set output = ThisWorkbook.Worksheets("Output")
with output
    Lastrow = .Range("A" & .Rows.Count).End(xlUp).Row
    output.Range("P1").formula = "=SUM(Q1,R1)"
    for i = 1 to lastrow
        .Cells(i, 7).value = .cells(1, 16).value
    next i
end with

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM