Home » excel » VBA excel Passing back parameter

VBA excel Passing back parameter

Posted by: admin April 23, 2020 Leave a comment

Questions:

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) ?

How to&Answers:

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