Страницы: 1
RSS
Некорректное отображение 20-значных чисел
 
Добрый вечер, подскажите пожалуйста, как корректно прописать код, чтобы функция VLookup корректно вставляла 20-значные числа? Макрос запускается при активации листа, на листе откуда берутся значения «Начисления» данные числа имеют текстовый формат. На лист «Оплата» данные вставляются примерно так  1,88Е+19 Часть кода:
Код
If Sheets("Оплата").Range("e" & i).Value = "р/с" Then
 Range("e" & i).Value = Application.IfError(Application.VLookup(Sheets("Оплата").Range("F" & i), Sheets("Начисления").Range("H:N"), 7, 0), "р/с")
 End If
 
Сам не пробовал, но попробуйте так, вдруг получится
Код
If Sheets("Оплата").Range("e" & i).Value = "р/с" Then
   Range("e" & i).NumberFormat = "@"
   Range("e" & i).Value = Application.IfError(Application.VLookup(Sheets("Оплата").Range("F" & i), Sheets("Начисления").Range("H:N"), 7, 0), "р/с")
End If
Изменено: New - 19.05.2022 21:11:22
 
у мантисы (извините на этом слове) 15 знаков (цифр)
для 20-и значных чисел используйте строковые переменные и специальную математику для ооооооооооооооооочень длинных чисел
удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх