Formato de data do VBA do Excel: o hífen como separador fornece um resultado de substituição diferente

0

Excel 2007.

Eu quero uma macro para colocar a data de hoje na célula atual formatada como dd-mmm-aa, por exemplo. 30-out-14.

O código que tenho é simples:

'ActiveCell.Value = Formatar (Agora (), "dd-mmm-aa")'

Por alguma razão, isso retorna "30 de outubro de 14" com espaços em vez de hífens.

Formatos semelhantes funcionam corretamente. por exemplo

dd-mm-yy dá 30-10-14,
dd ~ mmm ~ yy dá 30 ~ outubro ~ 14

O valor real das células está definido como "10 30 2014"

Alguém pode me dar uma solução simples e, se possível, explicar por que isso está acontecendo?

    
por Malcolm Morris 30.10.2014 / 07:25

1 resposta

1

O Excel converte automaticamente o texto que você insere com a macro em uma data (e, em seguida, aplica um formato de data. Para forçar o Excel a exibi-lo como texto, coloque uma única citação na sequência de data:

ActiveCell.Value = "'" + Format(Now(), "dd-mmm-yy")

Como alternativa, defina o formato da célula como o tipo de texto primeiro:

ActiveCell.NumberFormat = "@"
ActiveCell.Value = Format(Now(), "dd-mmm-yy")
    
por 30.10.2014 / 07:41