Excel VBA宏正确循环终止

Excel VBA宏正确循环终止,vba,excel,Vba,Excel,我很少使用VBA,但有其他编程经验。我有一个循环,可以将正确的数据写入正确的位置。但是,循环后的代码没有完成。我相信我没有正确地终止循环,但还没有弄清楚如何结束循环 Dim i As Integer Dim j As Integer Dim TestInfo, PatID, TestCode, OAValue As String For i = 2 To 25 Columns(i).Select If Cells(1, i).Value = 0 Then End

我很少使用VBA,但有其他编程经验。我有一个循环,可以将正确的数据写入正确的位置。但是,循环后的代码没有完成。我相信我没有正确地终止循环,但还没有弄清楚如何结束循环

Dim i As Integer
Dim j As Integer
Dim TestInfo, PatID, TestCode, OAValue As String

For i = 2 To 25
    Columns(i).Select
    If Cells(1, i).Value = 0 Then
        End
    Else

        For j = 2 To 52
            Rows(j).Select
            PatID = Cells(1, i).Value
            TestCode = Cells(j, 1).Value
            OAValue = Cells(j, i).Value
            TestInfo = PatID & "," & TestCode & "," & OAValue
            stream.WriteLine TestInfo
        Next j
    End
    End If
Next i
End

stream.Close

ActiveWorkbook.Close savechanges:=False
任何帮助都将不胜感激。 提前谢谢。

使用
退出
而不是从循环结束到中断


此外,您还可以删除列(i).Select和行(j).Select-它们会降低执行速度,而没有任何好处。

您想对第一个循环做什么?如果单元格的值=0,是否要退出循环或子循环?第一个循环遍历列,但带有0的列表示最后一个有用列。这是您要使用的最后一列吗?或者当列的第一行=0时是否要停止?当到达该列的第一行时停止。的退出已解决该问题。还感谢您提供有关的建议。选择。