Declaration of functions and subs are similar to basic. In functions to return function values, use implicit declared variable which has the same name of the function, or use Return statement. Parameters by reference can also be used, using BYREF directive.

 

Some examples:

 

SUB HelloWord
   ShowMessage("Hello world!")
END SUB
 
SUB UpcaseMessage(Msg) 
   ShowMessage(Uppercase(Msg))
END SUB
 
FUNCTION TodayAsString
  TodayAsString = DateToStr(Date)
END FUNCTION
 
FUNCTION Max(A,B)
   IF A>B THEN
      MAX = A
   ELSE
      MAX = B
   END IF
END FUNCTION
 
SUB SwapValues(BYREF A, B)
  DIM TEMP
  TEMP = A
  A = B
  B = TEMP
END SUB
 

 

You can also declare subs and functions as private or public using the following syntax:

PRIVATE SUB Hello
END SUB
 
 
PUBLIC FUNCTION Hello
END FUNCTION
 

Subs and functions are public by default.

You can use Return statement to exit subs and functions. For functions, you can also return a valid value.

 

Examples:

SUB UpcaseMessage(Msg) ShowMessage(Uppercase(Msg))
 Return
 'This line will be never reached
 ShowMessage("never displayed")
END SUB
 
FUNCTION TodayAsString
 Return DateToStr(Date)
END FUNCTION
 

          

Handling errors in VBA compiler