Подтвердить что ты не робот

Как получить значение ячейки Excel в VBA как отформатированное в рабочей таблице?

Мне нужно сохранить ведущие нули в списке чисел. Цифры добавляются как это (в цикле, но это всего лишь пример использования (1, 1):

Set cel = Sheet.worksh.Cells(1, 1)
cel.ColumnWidth = 10
cel.Value = e.Name
cel.NumberFormat = "0000"

Где e.Name - номер, что-то вроде "0720". Это отображается на листе только отлично, но если я сделаю что-то вроде этого:

Msgbox Sheet.worksh.Cells(1, 1).Value

Я получаю "720". Мне нужно, чтобы это было "0720", я знаю, что могу проверить с помощью Len() и добавить нули таким образом, но мне было интересно, был ли более прямой подход с объектом Range, который сделает это для меня.

4b9b3361

Ответ 1

Используйте это:

Msgbox Format(Sheet.worksh.Cells(1,1).Value, "0000")

Ответ 3

Еще лучше, если вы не знаете, в каком формате:

Формат Msgbox (Sheet.worksh.Cells(1,1).Value, Sheet.worksh.Cells(1,1).NumberFormat)