Hi,
Macro parameters can be passed as values to M-Codes via the P, R, and S words. That's it, 3 parameters max.
You won't be able to pass the "C23.45", but you can pass the 23.45 as "P23.45". This is essentially a gcode language limitation.
See the programmer's manual functions param1, param2 and param3 for how to get the values to P,Q,R words
VB is a common, but technically incorrect, slang term used to refer to all flavors of basic. VB really stands for Visual Basic and refers to a specific series of Microsoft products. The language implemented by Microsoft Visual basic is not the same as the Basic dialect available for mach scripts. The informal use of the term VB tends to lead people to complain (incorrectly) that language feature xyz is not acting the same in mach as it is in "VB". The script language used by mach is provided by the Cypress Enable Embedded Basic interpreter. While much of the language is "common basic" there are differences from "VB" - thus the term "CB" for Cypress Basic" is used within the programmer ref manual. The term VB tends to get used in the wiki as a wiki is edited by users - and most of them use the VB term as a generic term for all flavors of basic (without I'd guess even thinking about it - kind of like people use "Xerox" for all copiers and "Kleenex" for all tissues).
Dave