Per quanto ne so io quando l'xlsm viene inviato vengono inviate anche le macro, e per verificare ho appena provato ad inviare un xlsm con una macro ad un collega e funziona senza nessun problema.

Hai verificato
- che il tuo amico abbia excel 2007 o 2010 e non uno dei precedenti?
- che non abbia le macro bloccate e che le autorizzi quando (se) gli viene richiesto?
- che i comandi della macro siano visibili nell'editor dei comandi vba integrato?