Bueno, hice unas pruebas con tu mismo código y anda bien, no se que otras cosas tengas en ese código, por eso te preguntaba si estaba en un Loop, por principio de cuentas cambia como te dije, en lugar de utilizar el método writLine, solo pon write:
'Abrimos el archivo para grabarlo
Set a = fs.CreateTextFile(fp, True)
a.Write(ct)
end if
Prueba así y nos cuentas