Страницы: 1
RSS
Миллион с буквой в миллион цифрами
 
Здравствуйте!

Не судите строго, свой вопрос гуглил, на форуме такой вопрос вряд ли обсуждался. Помогите, пожалуйста, хоть кодом VBA, хоть формулой преобразовать деньги в формате € 2.086 M (два миллиона восемьдесят шесть тысяч - получаю веб-запросом из сайта) в стандартный денежный формат в таком виде € 2 086 000. Перепробовал стандартные методы преобразования наподобие чисел как текст в числа, ничего не получается. Пример прилагается. Спасибо!

Находил такой вариант кода, но он для чисел, а в моем случае деньги:
Код
Sub Convert_Text_to_Numbers()
    Selection.NumberFormat = "General"
    Selection.Value = Selection.Value
End Sub
Изменено: Роман - 04.07.2020 19:28:11
 
UDF
Код
Function iEvro(cell$)
 With CreateObject("VBScript.RegExp")
   .Pattern = "\d+\.\d+"
   iEvro = .Execute(cell)(0)
   iEvro = Replace(iEvro, ".", ",") * 1000000
 End With
End Function
 
Работает! Огромное спасибо! Очень помогли!
 
У вас там сейчас не число, а текст, так что и работать с ним нужно как с текстом. Формулой ТОЛЬКО ДЛЯ МИЛЛИОНОВ могу предложить вот так
=ПОДСТАВИТЬ(ЛЕВСИМВ(ПРАВСИМВ(H7;ДЛСТР(H7)-2);ДЛСТР(H7)-4);".";",")*1000000
Может вот это на какие-то мысли натолкнёт (решение обратной задачи - русский денежный формат в американский)
Я не волшебник, я только учусь.
 
Wiss, спасибо большое, учту. В основной файл еще не пробовал код с пользовательской фунццией, но из двух вариантов думаю что то получится. Мне нужно, чтобы я с этим числом мог математические вычисления делать, чтобы эксель воспринимал преобразованную сумму как деньги (сумму, число), а не как текст.
 
Единственный вопрос при выборе останется: если данных много, что шустрее будет обрабатывать данные (пересчитывать формулы), через код или прямая формула, хотя данных то и не особо много, максимум 1 000 строк, опытным путем определим. В любом случае спасибо за оба варианта!
Страницы: 1
Наверх