Страницы: 1
RSS
Добавление нолей перед числом и сохранение его как текста VBA, Преобразовать массив чисел в текст, добавив нужное количество нолей
 
Здравствуйте. Не нашел нигде решение задачи.
Дело в том, что при копировании текста (selection.value=selection.value) у меня  пропадают нули перед кодами (было 00154 стало 154). И тут два варианта  копировать как текст правильно, но я не знаю как или добавить нули опять. Хорошего  решения я не нашел.
Как преобразовать формат текста в нужный (0000000) и сохранить его как текст? Как правильно копировать подобные значения?
Может кто при помощи VBA выставлял такие форматы текста?
Интересует только VBA вариант.
Range().NumberFormat = "000000" - выдает число с нулем перед ним, но это  не одно и тоже. Как сделать сохранение как текст, не пойму.
 
Mirai,Перед копированием, установите в ячейках куда будете копировать такие значения формат ячеек - текстовый, копируете - вставляете спец вставкой - значения
 
Запись макроса говорит, что
Код
Range().NumberFormat = "@"
 
Код
Public Sub www()
    Dim c As Range
    [a:a].NumberFormat = "@"
    For Each c In [a1:a30].Cells
        c.Value = Format(c, "0000000")
    Next
End Sub
Я сам - дурнее всякого примера! ...
 
Без файла тут особо говорить нечего, т.к. возможны разные варианты - что в ячейках, что в массиве, что позже будете делать с данными?
Я бы делал так - брал в массив значения как есть в ячейках (не то что видно, а то что есть), далее при обработке/использовании каждое значение приводил к нужному формату.
Может быть достаточно перед выгрузкой установить нужный формат целевому диапазону.
Изменено: Hugo - 14.10.2016 08:43:26
 
Всем, спасибо, принцип понял.
kuklp, Ваш вариант подошел, спасибо.
Hugo, спасибо, так и буду делать.
Страницы: 1
Наверх