Eu passei pelo seu código e parece que o culpado é Chr(42)
, que corresponde ao símbolo *
. Quando o Excel encontra isso, está tratando isso como um curinga e substituindo todo o texto. Se você adicionar uma instrução if simples para pular 42, ela passará pelo primeiro loop For
sem causar os problemas observados. Você precisará fazer isso novamente para Chr(63)
(o ?
) ou ele retornará uma saída estranha novamente. Uma vez que ambos são contabilizados, funcionou muito bem para mim.