Ответ 1
Используйте это:
Msgbox Format(Sheet.worksh.Cells(1,1).Value, "0000")
Мне нужно сохранить ведущие нули в списке чисел. Цифры добавляются как это (в цикле, но это всего лишь пример использования (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, который сделает это для меня.
Используйте это:
Msgbox Format(Sheet.worksh.Cells(1,1).Value, "0000")
Вы путаете номер с его текстовым представлением.
Вам нужно свойство .Text
, а не .Value
, но затем у вас могут возникнуть проблемы с ним.
Еще лучше, если вы не знаете, в каком формате:
Формат Msgbox (Sheet.worksh.Cells(1,1).Value, Sheet.worksh.Cells(1,1).NumberFormat)