Aldin
Aldin

Reputation: 115

VBA excel Passing back parameter

Okay I want to add something to this macro

Sub Search()
  Inputbox myInput                      
  found = false
  loop
     Call getInput (myInput)            '~> check multiple files
  end loop
  If found = false
    'DO something   
  End if
End sub

Sub getInput(ByVal inputVar As String, ByVal Input as Boolean)
  If a = inputVar Then                  
      found = true                      '~> I want to pass this parameter back to search
  End If
End sub

The case is like, I want my sub to pass the found parameter from Search() to getInput() and then getInput() return the found parameter to Search()

Should I add something like search(ByVal found as boolean) ?

Upvotes: 3

Views: 9831

Answers (1)

Sam
Sam

Reputation: 7303

if you want to return a value, then you should change the getInput Sub to a function as they can return values.

Sub Search()
  Dim found As Boolean

  InputBox myInput

  found = checkInput(myInput)

  If found = False Then
    'DO something
  End If
End Sub

Function checkInput(inputVar As String) As Boolean

    Dim result As Boolean

    'do your checking here and set result

    'return the result
    checkInput = result

End Function

Upvotes: 4

Related Questions