Non serve dichiarare le variabili, lo fa in automatico, il codice così com'è funziona già senza nient'altro.

Più che assegnare il codice ad una macro e poi la macro ad un bottone, assegna direttamente il codice ad un bottone, è più semplice.

Per inserire un bottone nel foglio cerca la barra "strumenti di controllo" (se ricordo bene si chiamava così in excel 2003) oppure, in excel 2007, vai nella scheda sviluppo - inserisci - controlli activeX e clicca sulla prima iconcina.

Una volta inserito il pulsante (che si chiamerà CommandButton1) cliccaci due volte sopra, si aprirà l'editor di VBA, inserisci il codice fra le due righe che trovi già scritte (cioè fra Private ... ed End Sub) poi torna nel foglio e clicca su Modalità di progettazione (sei entrato in MdP inserendo il bottone, ora cliccando ne esci) in questo modo il pulsante diventa attivo e quando lo clicchi (una volta) esegui il codice.

Come vedi è molto facile.

Mi raccomando solo che le prime due celle della colonna A del foglio 2 devono contenere qualcosa e nel registro, cioè nel foglio due non devono esserci buchi, cioè righe vuote perché altrimenti la macro non funziona. Questo lo sottolineo perché non avevo capito che quel foglio sarebbe andato in mano a più persone.

Comunque sono veramente basito da quello che mi dici. Clienti che scaricano il foglio e lo ricaricano via FTP

Anche con clienti estremamente evoluti la cosa è decisamente pericolosa. Distribuisci la password per l'ftp? Oppure impazzisci con i permessi da assegnare ad ognuno?

E come gestite la concorrenza di accessi? Cioè se, per esempio, alle 10 un cliente scarica il foglio e lo ricarica alle 10.15 dopo aver inserito i suoi prelievi e intanto alle 10.05 un altro cliente scarica il foglio e lo ricarica alle 10.10 il primo cliente, quando riporta su il suo foglio, ricopre quanto inserito dal secondo cliente.

Io andrei dal capo e gliene direi quattro

Buona fortuna !!!