A 'macro' is usually vb written for use in Excel or Word, and sometimes will have been created using a macro recorder, where your actions are interpreted and turned into code. After that, it's largely preference. Some prefer to distiguish along the lines of how it was created (i.e scripted, rather than recorded), some just think 'vba code' sounds more serious & professional than 'macro', myself included.
They're all macros in the sense that they duplicate a set of instructions a user might concievably perform using the main program interface, although you could argue that when the code is doing something you couldn't perform via the normal user interface, that's when it comes more than just a macro.
{rant}I have to admit to having a bit of a bee in my bonnet on this one, since in our organisation 'macros' are seen to be trivial, whereas code is something more substantial, yet I'd defy anyone who makes this distinction to actually explain it in terms that made any sense.{/rant}