Excel 使用返回变量的参数调用方法对象

Excel 使用返回变量的参数调用方法对象,excel,vba,object,methods,parameter-passing,Excel,Vba,Object,Methods,Parameter Passing,如何调用传递多个参数并返回变量的方法 我有一门课叫cExcelTable。我有一个方法: 公共函数GetColumnNumberByColumnName(strColumnName为字符串) Dim ResultColumn发现为整数 '... 这里有找到正确列的代码 '... 然后我将结果作为整数返回 GetColumnNumberByColumnName=resutColumnFound 端函数 如何调用此方法并获取返回值 我想要与此等效的: Dim myTable作为新的cExcelTa

如何调用传递多个参数并返回变量的方法

我有一门课叫cExcelTable。我有一个方法:

公共函数GetColumnNumberByColumnName(strColumnName为字符串)
Dim ResultColumn发现为整数
'... 这里有找到正确列的代码
'... 然后我将结果作为整数返回
GetColumnNumberByColumnName=resutColumnFound
端函数
如何调用此方法并获取返回值

我想要与此等效的:

Dim myTable作为新的cExcelTable
作为整数的Dim i
myTable.Workbook=“file.xlsx”
myTable.Sheet=“测试表”
myTable.Table=“TabDatas”
'... 这是我的错误,我不知道如何解决
i=myTable.GetColumnNumberByColumnName(“总计”)
我知道,对于没有返回值的方法,我必须使用调用,但是对于返回值的方法呢

多亏了PeterT和Domenic在评论中的评论,我在一夜睡眠后发现我的错误不是调用方法,而是在方法中拼写了两个变量并添加了它应该返回的类型

因此,对于一个进入这篇文章的新手来说,答案是 在方法内部,您应该使用

'Add the type the method it should return "As Integer"
Public Function nameOfTheMethod(parameterNumber1 As String) As Integer
    Dim resultColumnFound As Integer

    '... type your code
    '... then return the result with the correct spelling

    GetColumnNumberByColumnName = resultColumnFound
End Function
然后在你的代码中,你可以像这样调用你的方法

Dim myObject As New cMyClass 'cMyClass  is the name of your class and myObject is the name of your object you are creating
Dim i as Integer

i = myObject.nameOfTheMethod("test")

这看起来应该行得通。出现了什么错误?请尝试将函数的返回值设置为整数:
公共函数GetColumnNumberByColumnName(strColumnName为String)设置为整数
,然后查看这是否有帮助。GetColumnNumberByColumnName中用于返回值的变量名称拼写错误。它应该是
GetColumnNumberByColumnName=resultColumnFound
。FWIW您不必使用Call。若事实上你们不应该使用它,那个么它就过时了。若你们使用Option Explicit,你们就会发现这个错误