EXERCISE TOPIC▼
VBA EXERCISES▼
ADVANCED VBA EXERCISES▼
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.
You can learn how to do this exercise if you attend one of more of the courses listed below!
Software ==> | Advanced VBA (33 exercises) |
Version ==> | Any MS Office versions |
Topic ==> | Passing arguments (6 exercises) |
Level ==> | Relatively easy |
Courses ==> | Fast track Excel VBA / 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:

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:

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.