Страницы: 1
RSS
VBA. Округление при копировании
 
Добрый день.
Подскажите, как в макрос добавить округление вставляемого значения до второго знака после запятой.

Код
Sub Кабельный_журнал()
    Dim lr As Long, llastr As Long, lcnt As Long, ac As Long
     
    ac = Application.Calculation
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
    lcnt = 7
    With Worksheets("0,4кВ")
        llastr = .Cells(.Rows.Count, 1).End(xlUp).Row
        For lr = 12 To llastr
            If .Cells(lr, 1).Value <> "" Then
                Worksheets("кабельний журнал").Range("A" & lcnt).Value = .Range("E" & lr).Value
                Worksheets("кабельний журнал").Range("B" & lcnt).Value = .Range("C" & lr).Value
                Worksheets("кабельний журнал").Range("C" & lcnt).Value = .Range("F" & lr).Value
                Worksheets("кабельний журнал").Range("D" & lcnt).Value = .Range("AO" & lr).Value
                Worksheets("кабельний журнал").Range("E" & lcnt).Value = .Range("AN" & lr).Value
                Worksheets("кабельний журнал").Range("H" & lcnt).Value = .Range("O" & lr).Value
                Worksheets("кабельний журнал").Range("N" & lcnt).Value = .Range("I" & lr).Value
                lcnt = lcnt + 1
            End If
        Next
    End With
    Application.Calculation = ac
    Application.ScreenUpdating = True
End Sub
 
Дмитрий, здравствуйте ещё раз  :)
Код
… = WorkSheetFunction.Round(.Range("E" & lr).Value,2) ' классика
… = --Format(.Range("E" & lr).Value,"0.00") ' пошустрее
Изменено: Jack Famous - 02.03.2021 10:21:08
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Round(число,2)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Jack Famous, я сразу извиняюсь если я что то не понял, я тупой в этом вопросе )
Вставляется значение "А"
Как туда прописать раунд ?)
Код
Worksheets("кабельний журнал").Range("A" & lcnt).Value = .Range("E" & lr).Value
 
Цитата
Ігор Гончаренко: Round(число,2)
это не математическое, а "банковское" округление, которое редко надо - не путайте людей))

Дмитрий,
Код
Worksheets("кабельний журнал").Range("A" & lcnt).Value = --Format(.Range("E" & lr).Value,"0.00")
Изменено: Jack Famous - 02.03.2021 10:24:36
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, я понял. Благодарю ;)  
 
Дмитрий, в соседней своей теме обновил супербыстрый вариант, если надо  ;)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх