Advanced VBA | Passing arguments exercise | Subroutines taking arguments

This exercise is provided to allow potential course delegates to choose the correct Wise Owl Microsoft training course, and may not be reproduced in whole or in part in any format without the prior written consent of Wise Owl.

The answer to the exercise will be included and explained if you attend the course listed below!

Software ==> Advanced VBA  (33 exercises)
Version ==> Any MS Office versions
Topic ==> Passing arguments  (6 exercises)
Level ==> Relatively easy
Course ==> Advanced VBA

You need a minimum screen resolution of about 700 pixels width to see our exercises. This is because they contain diagrams and tables which would not be viewable easily on a mobile phone or small laptop. Please use a larger tablet, notebook or desktop computer, or change your screen resolution settings.

In some suitable application (Excel, for example) create a simple subroutine to display a message.  Your subroutine should take one argument - the message to be displayed - and produce output like this:

Advanced VBA exercise - Passing arguments (image 1)

You can pass different messages to your subroutine to display different message boxes

If you still have time, try writing a different subroutine to unprotect or protect a given worksheet.  This subroutine should take 2 arguments:

  • The name of the sheet to be protected or unprotected
  • Whether to protect the sheet or not (a Boolean argument)

Note that to protect or unprotect a worksheet you just apply the Protect or Unprotect methods. 

Try running your  macro using commands like this to test it:

Advanced VBA exercise - Passing arguments (image 2)

Two sample commands to test your macro

If you still have time, try making the second argument optional, so that by default your subroutine will protect a sheet if the protection status is not explicitly given when the macro is run.

Save this file as Examples of arguments, and close it down.

This page has 0 threads Add post