主程序代码
Private Sub Command1_Click()
Form1.cls
MsgBox "请分别输入两个值:a与b,程序将比较它们的大小" & Chr(10) & "最后a将保存较大的数,b将保存较小的数", 0 + 64 + 0, "提示"
Dim a%, b%
a = Val(InputBox("a的值为", "输入数据"))
b = Val(InputBox("b的值为", "输入数据"))
Print "输入的数据为:"
Print "a="; a, "b="; b
Swap a, b
Print "计算后结果为:"
Print "a="; a, "b="; b
End Sub
标准模块中代码
Private Sub Swap(ByRef a%, ByRef b%)
If a < b Then
a = a + b
b = a - b
a = a - b
End If
End Sub运行时说我 Swap子过程没定义,怎么回事啊?

解决方案 »

  1.   

    发现换成
    public
    就成了
      

  2.   

    你在窗体模块调用标准模块的过程不用public能行吗!
      

  3.   

    过程或函数要能够在被别的模块中,只能声明成 Public 的。
      

  4.   

    你只要删除Private就可以了,不用加public 
      

  5.   

    因为你写的是Private Sub Swap(ByRef a%, ByRef b%)
    就是一个私有函数,模块外是不能访问的,要改成Public Sub才行
    当然,Sub前不加任何前缀默认就是Public的,但是为了良好的变成习惯还是加上吧