Например в текстовом файле числа:
- Код: Выделить всё
a b
-123.45 678.90
Для получения этой формулы, приходится делать много действий:
Загружаю текстовый файл в книгу Excel, как файл фиксированной ширины.
Далее, чтобы поменять знак нужно числа из строкового представления преобразовать в числовое и умножить на -1. Причем если на компьютере разделитель целой/дробной частей числа
не точка, то перед преобразованием нужно эту точку заменить на системный разделитель.
Добавляется функция:
- Код: Выделить всё
Public Function Cdbl2(Number As Variant) As Double
Dim tmpstr As String
Dim DecimalSeparator As String
DecimalSeparator = Format(0, ".")
tmpstr = Trim(CStr(Number))
tmpstr = Replace(tmpstr, ".", DecimalSeparator)
Cdbl2 = CDbl(tmpstr)
End Function
Потом умножаю полученное число на -1, меняю знак. А потом результат перевожу обратно в строку, чтобы собрать формулу.
Получается так:
Cells(1, 3) = "=" & str(Cdbl2(Cells(1, 1)) * -1) & "+" & str(CDbl(Cells(1, 2)) * -1)
Достаточно сложный процесс, можно ли его как-то упростить?