0

我的问题是我不知道在 VBA 中调用了哪些函数(在 C++ 中)或方法(在 Java 中)。

它们都存在,所以我查找了潜艇?我认为这是平行的,但他们没有从我的理解中返回任何东西。

我没有接受过任何正式的 VBA 培训,所以我在这方面有点糟糕。我想创建一个函数(或方法或子)来执行此 for 循环正在执行的操作:

useInput = titles.Text
useRec = rec.Text
lastRow = 1

For Each rngCell In rngData.Columns(1).Cells 'Traverse each row in Spreadsheet
If useInput = rngCell.Value And LCase(useRec) = LCase(Cells(lastRow, 2)) Then 'If what the user input into the textbox matches a value in the spreadsheet
    bothExist = True 'Set this to true, because both exist

    otherUserForm.Show 'Call another userform created

    titles = "" 'Set entries to null
    rec = ""
    Exit For 'Exit the for loop
    End If
    lastRow = lastRow + 1 'Counter
Next rngCell

所以循环的重点是遍历一个电子表格并找到最后一行来输入信息,但是如果标题和rec是预先存在的,那么它就会执行显示的操作。

我的问题是,我需要创建什么才能返回“lastRow”?因为我需要那个数字。

4

2 回答 2

1
Function myFunctionName()
    ' do stuff
    myFunctionName = "hello world"
End Function

通过将返回值分配给函数的名称,您可以将返回值分配给函数。你可以这样称呼它:

Sub myTest()
theReply = myFunctionName()
msgBox "the function returned " & theReply
End Sub

函数返回值,subs 没有。

于 2013-03-20T00:11:36.810 回答
1

VBA 中的函数就是:函数。:-)return但是,如果您习惯于 Java 或 C/C++(它是更老式的 Pascal),那么语法很奇怪。

Public Function GetLastRow()
   `Logic to determine last row here
   GetLastRow = lastRow    ` Assignment to function name sets return value
End Function
于 2013-03-20T00:12:16.687 回答