Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
VBA. Удалить все одинаковые строки в выделенном столбце.
 
Спасибо знатокам за данный код. А возможно ли в данном случае сделать так, чтобы оставалась хотя бы одна строка из найденных дубликатов?

P.S. макрорекодер в данном случае не помогает, т.к. стандартная remove duplicates сдвигает ячейки вверх, заполняя пустые, и ячейки в строке теряют взаимосвязанность по данным. А настройки "оставить ячейки найденных дубликатов пустыми" не наблюдается=\.
Изменено: Кирилл Блинов - 31.08.2020 20:35:02 (дополнение)
Массовая замена слов в тексте
 
Михаил О., большое Вам спасибо, именно то, что надо!

Пытался было сделать через Replace до этого, но, похоже, не хватило знания разобраться.
Изменено: Кирилл Блинов - 18.08.2020 22:16:04
Массовая замена слов в тексте
 
vikttur, должно быть, я неверно выразился. Под пользовательской формулой я имел ввиду функцию для строки формул, оформленную в виде кода VBA. Например, я пишу в строку формулы в ячейку =GetAbbr(A1) и функция таким образом работает конкретно для этой ячейки со ссылкой на ячейку-источник. Просто хотел узнать, можно ли через ElseIf... Like... просматривать середину ячейки а не только начало, как в моем случае.

Андрей_26, это оформлено в виде макроса, а я имел ввиду, сделать именно как формулу, как в моем случае. Быть может, этот код и можно как-то приспособить, но он написан с указанием листа, колонки, и т.д. А надо чтобы была именно текущая ячейка, в которую записана данная формула.

Скинул пример с тем, как она работает сейчас

P.S. Понял свой косяк. В данном конкретном случае, формула смотрит по любому первому совпадению, и других совпадений в ячейке не ищет, если оное уже найдено. Более того, Mid тут выдаст совсем не то что надо, если слово будет в середине ячейки. Буду думать, как сделать иначе, извиняюсь что запутал. Затупил под конец дня=\.
Изменено: Кирилл Блинов - 18.08.2020 22:12:06
Массовая замена слов в тексте
 
Здравствуйте, форумчане. Потребовалось создать пользовательскую функцию поиска и замены слов. Дело в том, что большинство решений, которые нашлись тут, оформлены в виде макроса, который работает по нажатию кнопки, а в данном случае нужна функция, которую можно вписать в формулу. Где-то находил похожую вещь, и использую сейчас ее, но она работает лишь частично, т.е., находит и заменяет слова идущие только в начале строки, а остальные игнорирует.
Можно ли здесь что-то изменить так, чтобы он находил слова и в середине строки и получалось, например, "ул Ленина, к. 1, оф 1" = "ул. Ленина, корп. 1, оф. 1". С данным кодом получается "ул. Ленина, к. 1, оф 1". Никак не могу сообразить=\.
Заранее спасибо!

P.S. Быть может, можно было оформить это каким-то другим способом, но я пока совсем профан в vba.
Код
Function GetAbbr(ByVal Source As String) As String
'функция сокращения
Source = Trim(Source)

    If Source Like "село *" Then
        GetAbbr = "с." & Mid(Source, 5)
    ElseIf Source Like "поселок *" Then
        GetAbbr = "пос." & Mid(Source, 8)
    ElseIf Source Like "г *" Then
        GetAbbr = "г." & Mid(Source, 2)
    ElseIf Source Like "поселок городского типа *" Then
        GetAbbr = "пгт " & Mid(Source, 23)
    ElseIf Source Like "республика *" Then
        GetAbbr = "респ. " & Mid(Source, 12)
    ElseIf Source Like "область *" Then
        GetAbbr = "обл. " & Mid(Source, 8)
    ElseIf Source Like "ул *" Then
        GetAbbr = "ул." & Mid(Source, 3)
    ElseIf Source Like "пер *" Then
        GetAbbr = "пер." & Mid(Source, 4)
    ElseIf Source Like "к. *" Then
        GetAbbr = "корп." & Mid(Source, 3)
    ElseIf Source Like "оф *" Then
        GetAbbr = "оф." & Mid(Source, 3)
    Else
        GetAbbr = Source
    End If

End Function
Является ли город в ячейке административным центром
 
Действительно, сработало! Большое спасибо! Извините, что с таким глупым вопросом обратился сюда, в результате мне просто не хватило знания функций.
Является ли город в ячейке административным центром
 
Здравствуйте, уважаемые знатоки Excel. Пытался найти решение подобного вопроса по форуму и действительно есть много похожих тем, но все немного не то, а изменить их под свой вариант то ли мозгов не хватает то ли знаний.

Нужна формула для того чтобы определить, является ли город в ячейке административным центром или нет. Вроде уже и ВПР попробовал, и ПОИСК. В итоге ПОИСК первую ячейку он определяет правильно, а другие найти не может. А ВПР просто выдает значение #N/A, даже если предварительно удалять все пробелы из исходной ячейки.
Подскажите, пожалуйста, и не ругайте сильно если решение уже было, но не определил что это оно. И извиняюсь за дилетантский подход, ранее не имел дела с Excel и VBA и пришлось разбираться, увы, "на ходу". Спасибо!

P.S. В evaluate вижу что он находит значение "Новосибирск" через ПОИСК в массиве административных центров и сопоставляет его с ячейкой, но ПОИСК почему-то все равно выдает значение #ЗНАЧ. Может быть, легче было бы написать пользовательскую функцию через VBA, в этом случае, может быть, посоветуете, каким способом вообще можно к этому подступиться? В идеале мне нужно будет вообще по всем субъектам РФ сделать это, а где-то видел, что есть ограничение по вложенности функций, т.е., как я понимаю, все значения в функцию забивать будет не вариант.
Страницы: 1
Наверх