Non so cosa causa effettivamente il problema ,
ma tutto il codice che hai scritto nella sub timer ,viene ripetuto ogni secondo ,
per un linguaggio interpretato come vba forse è troppo , fai una semplice prova
imposta timer non a 1000 "un secondo" ma a 3000 tre secondi , e vedi se hai dei miglioramenti , se si hai trovato il problema.