In reply to amveng:
You must remember that macros are pre-processor compiler directives that substitute text for their arguments before any SystemVerilog syntax gets parsed.
Doing what you want in procedural code requires formatting a string and using introspection to look up an identifier by a string name. Only the VPI or a tool specific command can do that.