从另一个子编译错误中调用子

时间:2018-08-09 09:05:50

标签: vba excel-vba

我有一个名为DXF()的主子目录,该子目录由excel工作表中的一个按钮调用。 DXF()调用另一个名为reorganisation(FirstLine, LastLine)的子。现在,我要reorganisation调用另一个名为sens(LastLine)的子。 我在reorganisation(FirstLine, LastLine)中是这样的:

Sub reorganisation(FirstLine, LastLine)
[...]
Dim iLine As Integer, Ligne As Integer

With ActiveSheet

Set Temp = Range(.Cells(1000, 1000), .Cells(1000, 1013))

For iLine = FirstLine To LastLine
    [...]
    Ligne = iLine + 1
            Do While Ligne <= LastLine      ''' Organisation par des segments suivant le point de base
                [...]
            Loop
    sens iLine            '''' The error is here
Next iLine
End With
End Sub

除了我称之为sens的地方以外,此子项目中的所有功能都很好。

这里是子sens

Sub sens(LastLine)
Dim iLine, Ligne As Integer
With ActiveSheet
    For iLine = 3 To LastLine
        [...]
    Next iLine
End With
End Sub

因此,这给了我错误“编译错误:需要子,函数或属性”。我真的不知道为什么会这样,因为没有变量类型问题,所有都是整数,所以……如果有人能提前说出问题出在哪里,谢谢!!

2 个答案:

答案 0 :(得分:1)

这实际上是一个非常简单的错误。我有一个很久以前创建的变量(因此我忘记了),它的命名方式与我的子代相同。谢谢大家。

答案 1 :(得分:-1)

Sub sens(LastLine)设为公共Sub。因此,它将从工作表中可见。像这样:

Public Sub sens(LastLine)

What is the difference between Dim, Global, Public, and Private as Modular Field Access Modifiers?


这是一个有效的简单代码:

Public Sub Reorganisation()    
    Dim iLine As Long
    iLine = 5
    Sens iLine        
End Sub

Public Sub Sens(LastLine As Long)    
    MsgBox "It works"        
End Sub