Use VBA to determine which user is currently in the spreadsheet:
Then record macros of yourself protecting all but one column - one macro per different username or column setting to define. Use an IF statement in VBA to determine which macro to run. For example; if you record a macro for John Smith, named JohnSmith, who has the windows username of john.smith, use the following to executive that macro.
Edit: I've noticed this code does not work on 64 Bit versions of Microsoft Excel. (64 bit windows is fine, just not 64 bit excel)
Bookmarks