我的问题是我不知道在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?”因为我需要这个数字。
答案 0 :(得分:1)
Function myFunctionName()
' do stuff
myFunctionName = "hello world"
End Function
通过将函数指定给函数名称,可以为函数指定返回值。你可以这样称呼它:
Sub myTest()
theReply = myFunctionName()
msgBox "the function returned " & theReply
End Sub
函数返回值,不要
答案 1 :(得分: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