Your code is writing the last values after the total is counted. There seems to be no reason why the total is inside the loop. Move the lines
sht1.Range("B6") = Application.....
sht1.Range("C6") = Application.....
after the Loop command.
Regards
MD