Another use of the colon is to set specific variables to a calling statement:
Option Explicit
Sub test()
testWithOptions thirdParameter:="SecondParameterSkipped", firstParameter:="firstParam"
End Sub
Sub testWithOptions(firstParameter As String, Optional secondParameter As String, Optional thirdParameter As String)
MsgBox "FirstParamter: " & firstParameter & vbCrLf & _
"ThirdParamter: " & thirdParameter
End Sub
Notice the third parameter is set before the first and secondParameter (which is optional) is skipped all together.
I've only seen this used once in my career.