请高手帮修改Excel VBA代码

来源:百度知道 编辑:UC知道 时间:2024/06/25 01:43:56
Sub 完成全天工作()
Dim x As Single
x = Application.WorksheetFunction.CountA([A:A])
If Sheets(sheet3).Cells(6, 8) = x Then
GoSub 保存数据2
Return
ElseIf Sheets(sheet3).Cells(6, 8) <> x Then
GoSub 保存数据1
Else
Return
End If
End Sub
------------------------
执行后停留在“GoSub 保存数据1”这几个字变蓝,提示:“标签未定义”但这两个过程分别可以执行,是什么原困?
sheets(sheet3)应为sheets("sheet3")我的代码中是有""号的,输掉了,好像不是这个问题. 好像与GoSub...Return用法有关.我的思路是:如果第一个条件成立,执行"Sub 保存数据2()"这个过程,如果第二个条件成立,执行" Sub 保存数据1()"这个过程.

sheets(sheet3)改为sheets("sheet3")

*********
如果你要用GOSUB...RETURN的话.你的子程序要与放在"完成全天工作的这个程序中的"
Sub 完成全天工作()
Dim x As Single
x = Application.WorksheetFunction.CountA([A:A])
If Sheets("sheet3").Cells(6, 8) = x Then
GoSub 保存数据2
ElseIf Sheets("sheet3").Cells(6, 8) <> x Then
GoSub 保存数据1
Else
End If
保存数据1:
....

RETURN

保存数据2:
....
RETURN

End Sub

***********

如果你的子程序是SUB 保存数据()

那用
CALL 来调用.

GoSub 保存数据1
修改 GOTO 过程