Hola
Galagher, veo que tienes un problema cuando quieres cerrar el libro que abriste con la siguiente linea
xl.Workbooks.Open App.Path & "\Earn.xls"
, mira yo lo solucione de otra forma, porque lo que hago en la misma linea no es abrir el libro sino mas bien crear un libro nuevo a partir del libro existente, como si fuera una plantilla, porque cuando abres el libro lo que haces es crear una copia del mismo y es por eso que cuando lo cierras el libro original sigue abierto y solo has cerrado la copia, solo debes cambiar esa linea por esta:
xl.Workbooks.Add Template:= App.Path & "\Earn.xls"
Hasta pronto...