Страницы: 1
RSS
Макрос ошибочно умножает число на 1000
 
Добрый день!, при использовании макроса, если попадаются числа вида 1500.252, обрабатывает такие числа не верно, вместо прибавления процента, преобразует число в 1500252
какую нужно добавить строку в макрос что бы она преобразовала числа в 1500,25 или 1500.25
 
Куда/где эти числа попадаются? Файл-пример в студию
Согласие есть продукт при полном непротивлении сторон
 
Пример
 
А где этот 'неправильный' макрос? И покажите в файле Как есть - Как надо
Согласие есть продукт при полном непротивлении сторон
 
Два макроса, оба не обрабатывают корректно числа с тремя знаками после точки
Изменено: nicex - 22.04.2019 19:48:26
 
Текст, он только похож на число, но не число.
Код
Sub a()
For i = 1 To Cells(Rows.Count, "B").End(xlUp).Row
        Cells(i, 6) = Val(Cells(i, 4))
        If Val(Cells(i, 4)) >= 100 And Val(Cells(i, 4)) <= 5999.99 Then Cells(i, 6) = Val(Cells(i, 4)) * 1.5
    Next
End Sub
 
RAN, Спасибо!, а во втором макросе (b) как код изменить не подскажете
 
В этом случае этот код:
Код
    .Replace What:=".", Replacement:=","
работать не будет (может не работать), попробуйте использовать этот код:
Код
    Dim stlb As Object
    For Each stlb In Columns("D:E")
        stlb.TextToColumns Destination:=stlb.Cells(1), DataType:=xlDelimited, _
        FieldInfo:=Array(1, 1), DecimalSeparator:=".", TrailingMinusNumbers:=True
    Next
 
ocet p, Спасибо!
 
В подобных случаях можно и таким способом:
Код
Sub test()
  With ActiveSheet.UsedRange
    .Value = .Value
  End With
End Sub
Владимир
Страницы: 1
Наверх