VBA Excel: Как поставить запятую перед двумя последними цифрами макросом?

Автор Mostik, 05 декабря 2017, 21:38

Mostik

Добрый вечер.
У меня числа вида 3410, нужно поставить запятую 34,10.
Как это сделать с помощью макроса, т.к. данных очень много?

Администратор

Предполагается, что ваши данные находятся в столбце A, первая строка - шапка таблицы, данные начинаются со строки 2.

Макрос
Sub макрос()

    Dim arr(), lr As Long, i As Long
   
   
    '1. Поиск последней строки с данными. End не ищет в скрытых строках.
    lr = Cells(Rows.Count, "A").End(xlUp).row
   
    '2. Копирование данных из экселя в vba-массив. Макрос быстрее работает
        ' с vba-массивом, чем с эксель-ячейками.
    arr() = Range("A2:A" & lr).Value
   
    '3. Вставка запятых.
    ' Цикл по массиву "arr".
    For i = 1 To UBound(arr, 1)
        arr(i, 1) = arr(i, 1) / 100
    Next i
   
    '4. Вставка массива обратно в эксель.
    Range("A2:A" & lr).Value = arr()
   
End Sub
[свернуть]