Ah, yes... That's called 'OverLoading' 
An example. Say all your MsgBoxes have the same Icon, Buttons and Caption. Only thing that changes is the message. Write a Public Function 'MsgBox' that takes only the message as a parameter
Sub Test()
If MsgBox("What to do") = vbYes Then
' Do something
End If
End Sub
Public Function MsgBox(strMessage as String) as vbMsgBoxResult
MsgBox = VBA.MsgBox(strMessage, vbQuestion + VBYesNo + vbDefaultButton2, "Standard Caption")
End Function
Your 'MsgBox' will run when called from Sub Test (or any procedure that does not qualify the call to MsgBox) as that will be the first MsgBox function found by the compiler, but that then calls the VBA MsgBox because it explicitly references the Library containing it - 'VBA.MsgBox'. Much the same as calling a procedure in another module in your code.
Bookmarks