Добрый день. Имеется столбец с все возможным написанием обозначения корпуса т.е. "к, корп.,-, и т.д" Мне же надо именно например 15к5 превратить в 15/5 именно через слеш. Через найти и заменить не получается. всё превращается либо в дату либо в числовой вариант даты. (на скриншоте какие параметры выбираю) Формула не вариант, форма не позволяет добавление столбцов. Flash Fill да работает но опять же упираюсь что нужен доп столбец
Сейчас делаю так, копирую столбец в другой файл там формулами меняю и обратно макросом который вставляет в отфильтрованный выделенный диапазон.
Хотелось бы на VBA. Как я себе это представляю. всегда начинается с цифр. далее после цифр может быть все мозможное написание A-z А-я *-\@#(любые знаки) или пробел и далее опять цифры т.е. мы оставляем первые цифры и последние всё что между ними заменяем на /.
Нюансы. Только для видимых ячеек По выделенному диапазону Строк бывает вобщем более 10тысяч без учёта отфильтрованых. если общее то до 50тысяч.
Sub korp()
Dim diapazon As Range
Set diapazon = [a1:a10]
For Each x In diapazon
Text = x.Value
x.Value = "'" & Text
x.Replace what:="корп", Replacement:="/"
x.Replace what:="-", Replacement:="/"
x.Replace what:="к", Replacement:="/"
Next
End Sub
Текстовый формат ячеек методу Range.Replace не указ! С VBA проблем нет. Добавляйте к текстам, которые будут нежелательно интерпретированы Excel как дата или число, апостроф слева.
let
Source = Table.TransformColumnTypes(Excel.CurrentWorkbook(){[Name="Tab_2"]}[Content],{{"Дом", type text}}),
ReplaceAll = Table.TransformColumns(Source, {{"Дом", each
let
t1 = Text.Combine(List.Transform( Text.ToList(_), each if Text.Contains("0123456789", _ ) then _ else "/" ), ""),
t2 = if _ = t1 and not Text.Contains( _, "/" ) then _ else Text.BeforeDelimiter(t1, "/") & "/" & Text.AfterDelimiter(t1, "/", {0, RelativePosition.FromEnd})
in
t2, type text}})
in
ReplaceAll
Допустим ваша зеленая таблица это исходник, в него вносятся данные, если нажать обновить, то все что в корректном формате то не изменится, все остальное будет изменено. К таблице прямо в этом файле можете добавлять любое количество столбцов их запрос не трогает.