я вижу здесь ошибку в несколько тысяч и десятичный разделитель
"_-* #.##0,00 €_-;-* #.##0,00 €_-;_-* ""-""?? €_-;_-@_-"
для точек в качестве разделителя тысяч и запятых в качестве десятичного разделителя
, в то время как ваш пример (т.е. 50,05
) указываетк десятичному разделителю запятой
может быть ваш Excel принимает противоположное соглашение
перейдите в «Файл»> «Параметры», перейдите на вкладку «Дополнительно» и перейдите в раздел «Параметры редактирования», в конце котороговы можете проверить, какие тысячи и десятичный разделитель были приняты
, а затем изменить свой код соответственно
или вы можете использовать несколько «нечувствительный» код, который принимает в настоящее время соглашения о разделителях:
Selection.NumberFormat = "_-* #" & Application.ThousandsSeparator & "##0" & Application.DecimalSeparator & ",00 €_-;-* #" & Application.ThousandsSeparator & "##0" & Application.DecimalSeparator & "00 €_-;_-* ""-""?? €_-;_-@_-"
или, в несколько более читаемой форме:
With Application
Selection.NumberFormat = "_-* #" & .ThousandsSeparator & "##0" & .DecimalSeparator & ",00 €_-;-* #" & .ThousandsSeparator & "##0" & .DecimalSeparator & "00 €_-;_-* ""-""?? €_-;_-@_-"
End With