Проблема с десятичным разделителем из SAP в Excel: 1056 против 1,056 (коэффициент 1000)

Я написал код VBA в Excel, который связан с SAP, и он загружает таблицу VBRP на лист Excel.

У меня проблема с цифрами. Например, в SAP выставленное количество составляет 1,056, когда макрос запускается и пытается вставить значение в Excel, у нас есть число 1056, а не тысяча и 56.

Когда я загружаю таблицу с помощью VBA и вручную копирую и вставляю таблицу в Excel с помощью Ctrl + V, у меня есть правильное число 1,056, тысяча и 56 элементов.

Что мне сделать, чтобы в Excel были правильные цифры?

введите здесь описание изображения введите здесь описание изображения введите здесь описание изображения введите здесь описание изображения

введите здесь описание изображения введите здесь описание изображения введите здесь описание изображения


person Zounds    schedule 03.02.2021    source источник
comment
Пожалуйста, НЕ публикуйте изображения кода, данных, сообщений об ошибках и т. д. - скопируйте или введите текст в вопрос. . Опубликуйте минимально воспроизводимый пример.   -  person Sandra Rossi    schedule 03.02.2021
comment
Спасибо. Я отредактирую свой пост в течение дня.   -  person Zounds    schedule 04.02.2021


Ответы (1)


вы можете удалить точки перед вставкой на лист. Числовой формат, установленный в вашем столбце, будет применяться независимо от региональных настроек используемой машины. Что-то вроде этого:

Sub testdecimalsep()
    Dim test
    test = Split("1.11, 1.00001, 5.333", ",")

    For i = 0 To UBound(test)
        test(i) = CLng(Replace(test(i), ".", ""))
    Next i

    Sheet1.Range("A1:A3").Value2 = Application.Transpose(test)
End Sub

удачи,

person ceci    schedule 06.02.2021