Понять и исправить ошибку - VBA

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Прилагаю файл. В нём код преобразовывающий значения ячеек в формулу округляющую эти же значения до 2 знаков. Но вот незадача, выбивает ошибку на значениях со знаком после запятой. Помогите, пожалуйста, понять в чем дело и обойти. Спасибо!

Решение задачи: «Понять и исправить ошибку»

textual
Листинг программы
Private Const ROW_START& = 3
Private Const COLUNM_START& = 5
Private Const COLUNM_FINISH& = 10
 
Private Sub Round_Values2()
    Application.ScreenUpdating = False
    Application.Calculation = xlManual
    
    Dim endRow&, curColumn&, curRow&, cellFormula$
    For curColumn = COLUNM_START To COLUNM_FINISH
        endRow = Cells(Rows.Count, curColumn).End(xlUp).Row
        For curRow = ROW_START To endRow
            With Cells(curRow, curColumn)
                 cellFormula = .Formula
                 If Len(cellFormula) > 0 Then
                    If Not cellFormula Like "=ROUND*" _
                    Then .Formula = newFormula(cellFormula)
                 End If
            End With
        Next
    Next
    
    Application.Calculation = xlAutomatic
    Application.ScreenUpdating = True
    
    MsgBox "Готово!", vbExclamation, ""
End Sub
 
Private Function newFormula$(oldFormula$)
    If Asc(oldFormula) = 61 Then 'Left(oldFormula,1)="="
       newFormula = "=ROUND(" & Mid(oldFormula, 2) & ",2)"
    Else
       newFormula = "=ROUND(" & oldFormula & ",2)"
    End If
End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы