First, the defined name Print_Area is worksheet level, so you need to reference the sheet:
ActiveWorkbook.Names.Add Name:="'" & activesheet.name & "'!Print_Area"
Second, Print_Area is a reserved name. I would have thought Excel would just choke on it, but when I actually tested it (manually, not thru code), it accepted it, but the hourglass stayed for 20 or 30 seconds whenever I edited the name's refers to formula.
It's probably better to use worksheet events (open, activate, calculate, change, whatever) to change the print area, without relying on a dynamic formula for its definition.