Страницы: 1
RSS
Как сохранить лидирующие нули в артикуле средствами VBA
 
Доброго времени суток!
Проблема известная, возможно кем-то решенная, но я не смог найти удовлетворяющего меня ответа.
Имеется файл excel, сохранённый из 1С. Это отчёт, который я обрабатываю VBA. В процессе работы кода теряются лидирующие нули из артикулов.
До сих пор я вручную копировал столбец с артикулами в Блокнот, менял формат исходного столбца на текстовый и вставлял артикулы обратно. Процедура занимает 10 секунд и не напрягает, но чтобы избежать ошибок лучше конечно это как-то автоматизировать.
Нужен какой-нибудь способ в VBA сохранять лидирующие нули. При этом формат столбца с артикулами обязательно должен стать текстовым. На него потом завязываются ВПР и проч.
Пробовал функции (во вложении пример), пробовал подставлять апостроф - не получается. Голова совсем поломалась  :)  
В VBA не слишком силён, без подсказки не разберусь  :)
 
Выгрузка из 1С - смесь форматов ячеек (Общий, Числовой, АФМ). Долбите обслуживающих .
 
Код
Sub Нолики()
Dim r As Integer, i As String
    For r = 2 To 10
        Cells(r, 3) = Cells(r, 1).Text
    Next r
End Sub
 
 
Блин, можно было бы просто формат ячеек поменять, но тут требуют только средствами VBA делать...
Изменено: wowick - 20.01.2015 14:31:07
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Юрий, спасибо.
Чуть дополнил Ваш вариант. И он заработал.
Дело в том, что изначально столбец не в текстовом формате. Теперь получился универсальный блок.

Код
Sub Нолики()
Dim r As Integer, i As String
    For r = 2 To 10
        Cells(r, 3).NumberFormat = "@"
        Cells(r, 3) = Cells(r, 1).Text
    Next r
End Sub
Всё оказалось так просто  :)
Всем спасибо.
Страницы: 1
Наверх