Найти тему

Как убрать лишнее в ячейке Excel

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

Вот примерно так можно удалить запятую справа формулой
Вот примерно так можно удалить запятую справа формулой

Но формула громоздковата.

Можно воспользоваться пользовательской функцией:


Function DelSymb(ByVal Строчка As String, ByVal ЧтоУбираем, Параметр)
s = Len(ЧтоУбираем)
If Параметр= 2 Then
If Right(Строчка, s) <> ЧтоУбираем Then DelSymb = Строчка
If Right(Строчка, s) = ЧтоУбираем Then DelSymb = Left(Строчка, Len(Строчка) - s)
End If
If Параметр= 1 Then
If Left(Строчка, s) <> ЧтоУбираем Then DelSymb = Строчка
If Left(Строчка, s) = ЧтоУбираем Then DelSymb = Left(Строчка, Len(Строчка) - s)
End If

End Function

Как вставить макрос, писал в первых публикациях

А вот как воспользоваться пользовательской функцией

Нажать на "Вставить функцию"
Нажать на "Вставить функцию"
Выбрать определенные пользователем функции и выбрать нужную функцию
Выбрать определенные пользователем функции и выбрать нужную функцию
Ввести аргументы и нажать ОК. Параметр 1 - убирает в начале строки, Параметр 2-убирает в конце строки
Ввести аргументы и нажать ОК. Параметр 1 - убирает в начале строки, Параметр 2-убирает в конце строки
Вот где-то так...
Вот где-то так...


Наука
7 млн интересуются