Понять и исправить ошибку - 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