Excel VBA изменить формат даты - числа - PullRequest
0 голосов
/ 18 марта 2020

Excel автоматически меняет следующие значения на числа, я полагаю, потому что он считает их датой:

2/2/1 становится 36527 4/2/1 становится 36926

I есть столбец с комбинацией различных форматов:

2/1/
3/1/
8/7/
36527
1/0/0
36926

Какой код VBA я могу использовать для преобразования чисел обратно в исходный формат? Остальные значения должны оставаться прежними.

Я знаю функцию cDate, но я думаю, что она здесь бесполезна?

У меня уже есть это в моем коде VBA для вставки значений

ActiveWorkbook.Sheets("Import").Columns("A:AH").NumberFormat = "@"
ActiveWorkbook.Sheets("Import").Range("A1").Select
ActiveSheet.Paste

1 Ответ

1 голос
/ 18 марта 2020

Вы не можете изменить их обратно. Как только Excel преобразует их, исходное значение исчезает. Прежде чем вводить значение, вы можете добавить апостроф к тексту.

ActiveCell.Value = "'" & sMyValue

или, как прокомментировал @Scott Craner, вы можете отформатировать ячейку как текст

ActiveCell.NumberFormat = "@"
ActiveCell.Value = sMyValue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...