Boa noite, Kaleo_rs
O retorno da função Format, por definição, é do tipo String. Usada com números, entretanto, por mais que vc tenha perseguido e atingido o formato desejado com ela, só servirá como apresentação. O principal uso é dentro do próprio VBA, em textbox, msgbox, etc. Ou quando a saída requerida para uma célula seja exatamente do tipo texto.
Claro que vc poderia converter para número novamente dentro do VBA, seja usando uma das funções de conversão, seja com algebrismo que não altere o valor (multiplicando por 1 ou somando com zero, por exemplo). Mas daí vc perderia novamente a formatação.
Por isso, quando a saída é para células, ou vc deixa a célula pré-formatada lá no Excel e envia o número do jeito que está (a célula se encarregará de deixar do formato desejado) ou vc define a propriedade NumberFormat ou NumberFormatLocal para a célula. Ex.:
Sheets("PLAN2").Cells(1, 1) .NumberFormatLocal = "#.##0,00"
Postado : 01/06/2020 8:49 pm