VBA编写如下程序时出现next without for的错误提示?

2025-03-25 07:44:50
推荐回答(2个)
回答(1):

将这两行合并为一行即可:

If Cells(Row, 1).Value = MAXNUM Then
Exit For

改为:If Cells(Row, 1).Value = MAXNUM Then Exit For

从代码看你是想把当前单元格定位在A列的最大值上,下面代码更好:

Sub RANGETEST()
Range("A:A").Find(WorksheetFunction.Max(Range("A:A"))).Activate
End Sub

回答(2):

错误出现在哪句?
Sub RANGETEST()
Dim MAXNUM As Integer
MAXNUM = Application.WorksheetFunction.Max(Range("A:A"))

For Row = 1 To 1048576
If Cells(Row, 1).Value = MAXNUM Then
Exit For
end if
Next Row
MsgBox Row
Cells(Row, 1).Activate
End Sub
少了一个end if
搞定