Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: cobra77777 от 25 октября 2014, 15:51

Название: Как сделать в Excel польз-ий формат ячеек с дефисами и пробелом макросами?
Отправлено: cobra77777 от 25 октября 2014, 15:51
Здравствуйте!

Необходимо обработать столбец такого вида 12345678900 (порядка 5000 строк), а должно быть 123-456-789 00.
Если в конце "0" это нормально, всегда 11 знаков.
Как это можно реализовать макросом?

Спасибо
Название: Re: Как сделать в Excel польз-ий формат ячеек с дефисами и пробелом макросами?
Отправлено: Администратор от 25 октября 2014, 16:06
Вот так можно с помощью макроса сделать.
Число, которое нужно преобразовать, находится в ячейке A1, а в ячейку B1 вставляется преобразованное число:
Sub Procedure1()
    Range("B1").Value = Format(Range("A1").Value, "000-000-000 00")
End Sub
Название: Re: Как сделать в Excel польз-ий формат ячеек с дефисами и пробелом макросами?
Отправлено: cobra77777 от 25 октября 2014, 18:03
А как в цикле это можно сделать ?
Название: Re: Как сделать в Excel польз-ий формат ячеек с дефисами и пробелом макросами?
Отправлено: Администратор от 25 октября 2014, 18:10
Пояснения к макросу
Числа, которые надо преобразовать, находятся в столбце A, результат вставляется в столбец B.
Обрабатываются строки с 1 по 5 000.


Sub Procedure1()
   
    Dim i As Long
   
    ' Отключение обновления монитора для ускорения макроса.
    Application.ScreenUpdating = False
   
    For i = 1 To 5000 Step 1
        Cells(i, "B").Value = Format(Cells(i, "A").Value, "000-000-000 00")
    Next i
   
    ' Включение обновления монитора.
    Application.ScreenUpdating = True
   
End Sub

Название: Re: Как сделать в Excel польз-ий формат ячеек с дефисами и пробелом макросами?
Отправлено: cobra77777 от 25 октября 2014, 18:52
Спасибо большое.