Excel игнорирует запятую при использовании PasteSpecial - PullRequest
0 голосов
/ 01 апреля 2020

Хорошо, у меня проблема, которую я не могу понять, как ее решить. Я просто собираюсь перейти к преследованию. Я пишу макрос Excel, который должен копировать данные из внешней программы базы данных (измерение Simcorp) в Excel. Когда я копирую внешние данные в Excel с помощью Ctrl C / V, никаких проблем не возникает. Однако, когда я запускаю простой код VBA для вставки из буфера обмена, я сталкиваюсь с проблемой, число «1,000000000» (из внешней базы данных) анализируется как «1000000000» (в Excel). Смотрите пример кода ниже.

Sub CopyPaste()
    With ThisWorkbook.Worksheets("Sheet1")
        .Range("A5").PasteSpecial "Text"
    End With
End Sub

Я попытался установить десятичный разделитель как "," et c, но результата нет. Кроме того, я считаю, что мой единственный выбор для PasteSpecial - это «Текст» и «Текст Unicode», и я попробовал их обоих ... Кто-нибудь знает, как решить эту проблему?

1 Ответ

0 голосов
/ 01 апреля 2020

Попробуйте отформатировать ячейку как текст перед вставкой:

Sub CopyPaste()
    With ThisWorkbook.Worksheets("Sheet1").Range("A5")
        .NumberFormat = "@"
        .PasteSpecial "Text"
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...