У меня есть файл, созданный вне Excel со многими процентами. Все эти проценты имеют одно десятичное место. При импорте в excel Excel добавляет второе десятичное число к процентам - это, по-видимому, некоторый формат по умолчанию для процентов в Excel. Он просто добавляет «0».Excel VBA - добавить пользовательский формат номера
Я хочу отформатировать все десятичные десятичные разряды до одной десятичной точки. Если я сделаю это вручную, используя CTRL + H, найдите формат форматирования/замены, это будет хорошо. Но я не могу это сделать с помощью VBA/macro, даже если я записываю макрос при выполнении замены вручную. Код, сгенерированный записи макроса заключается в следующем:
Application.FindFormat.NumberFormat = "0.00%"
Application.ReplaceFormat.NumberFormat = "0.0%"
Cells.Replace What:="", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=True
неудача происходит на:
Application.ReplaceFormat.NumberFormat = "0.0%"
После многих проб и ошибок, я обнаружил, что новый формат должен быть в формате пользовательского список. Но одно-десятичное число процентов по умолчанию отсутствует. Если я вручную отформатирую одну ячейку в желаемом формате, макрос работает. Конечно, я не хочу делать это с каждым файлом.
Любой вход был бы очень признателен.
Заранее благодарен!
Если вы установили новый пользовательский номер в первую ячейку с помощью VBA ('.range (" A1 "). NumberFormat =" 0.0%; @ "'), не вводится ли этот новый формат пользовательского номера для дальнейшего использования с операцией массовой замены? – Jeeped
@ Jeeped yep, это, кажется, решает это :). Что именно делает «; @»? Я не знаком с этим. –