замените точку запятой в vba, это не работает - PullRequest
0 голосов
/ 26 мая 2020

У меня есть лист валюты, и после запуска моего листинга у меня есть числа, например, валюта евро 45018,0000 вместо 4,5018 Что не так?

Application.Workbooks("Zaliczenie.xlsm").Worksheets("Arkusz1").Range("G3:H12").Replace What:=".", Replacement:=","

Ответы [ 2 ]

0 голосов
/ 31 мая 2020

Честно говоря, не совсем понимаю, зачем вы заменяете "." с ",", но если я прав, вы хотите заменить десятичные точки на ",". Если это так, то правильный способ сделать это:

    With Application
        .DecimalSeparator = ","
        .ThousandsSeparator = "."
        .UseSystemSeparators = False
    End With

По умолчанию Excel использует системные разделители для отображения чисел (например, 4,5018.00). Но после запуска кода в моем ответе вы сообщаете Excel, что:

  • не используют системные разделители (и вместо этого используют те, которые определены мной)
  • установить десятичный разделитель = "," и
  • устанавливают разделитель тысяч = "."

например, число 4,5018.00 будет отображаться как 4.5018,00.

0 голосов
/ 31 мая 2020

Это очень просто сделать, как показано ниже

Application.Workbooks("Zaliczenie.xlsm").Worksheets("Arkusz1").Range("G3:H12").Replace What:=".", Replacement:="."

, и теперь вместо точки

используется запятая.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...