powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Удаление пробелов в ячейках по правилу
11 сообщений из 11, страница 1 из 1
Удаление пробелов в ячейках по правилу
    #34790055
B.T.C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В ячейках содержатся полные названия населенных пунктов.
Нужно, чтобы при копировании в другое приложение, части адреса в ячейке визуально были бы неразрывным (т.е. исключались некрасивые переносы на другую строку)
Для этого вручную удаляются все пробелы после слов типа "г. ", "адм. ", "п. ", "ул. ", "д. ", "к. ", "стр. ", "ст. ", "с. " и т. п.
Помогите это автоматизировать пожалуйста!
...
Рейтинг: 0 / 0
Удаление пробелов в ячейках по правилу
    #34790292
Фотография udgeen69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написал функцию, удаляет все пробелы после слов из списка
...
Рейтинг: 0 / 0
Удаление пробелов в ячейках по правилу
    #34790426
B.T.C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здорово!
А можно список "list of words" в сам макрос поместить?
...
Рейтинг: 0 / 0
Удаление пробелов в ячейках по правилу
    #34790447
Фотография udgeen69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
B.T.C.Здорово!
А можно список "list of words" в сам макрос поместить?
ну да, можно. Перечислить его где-нить в макросе, как массив например.
...
Рейтинг: 0 / 0
Удаление пробелов в ячейках по правилу
    #34790553
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще такие варианты:

1) Без макросов:

=ПОДСТАВИТЬ(СЖПРОБЕЛЫ(B2);". ";".")

2) RegExp
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Function TRIM_STRING(strTxt As String, strPattern As String, strReplace As String)
    Dim RegExp As Object
    Set RegExp = CreateObject("vbscript.regexp")
    With RegExp
        .Pattern = strPattern
        .Global = True
        TRIM_STRING = .Replace(Application.Trim(strTxt), strReplace)
    End With
End Function

=TRIM_STRING(A1,"\. ";".")


KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Удаление пробелов в ячейках по правилу
    #34791340
B.T.C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И последняя заморочка - как автоматически заменять неправильные части адреса "МО ..." , на правильные "Моск. обл. ..."
...
Рейтинг: 0 / 0
Удаление пробелов в ячейках по правилу
    #34792829
B.T.C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если кто по последнему вопросу знает, подскажите, плз!
...
Рейтинг: 0 / 0
Удаление пробелов в ячейках по правилу
    #34793198
Фотография Rampage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
B.T.C.Если кто по последнему вопросу знает, подскажите, плз!
cntrl + F
закладка Replace
find what МО
Replace with Моск. обл.
...
Рейтинг: 0 / 0
Удаление пробелов в ячейках по правилу
    #34793225
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rampage
cntrl + F
закладка Replace

cntrl + H
...
Рейтинг: 0 / 0
Удаление пробелов в ячейках по правилу
    #34793452
B.T.C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался, почему у меня так же просто, как описано выше не получалось!
Оказывается, перед операцией замены, обязательно должна быть выделена ячейка в этом диапазоне!
А я курсор в чистом поле ставил...)
...
Рейтинг: 0 / 0
Удаление пробелов в ячейках по правилу
    #34876623
B.T.C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то не удалось отредактировать преложенный код функции, со списком внутри
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
Public Function Trim_string(Rang_of_words_4_trim As Range, _
                            Rang_2_trim As Range) As String
    
    Dim str_tmp, str1 As String
    Dim i, pos As Integer
    Dim irange As Range
    Dim Rang_of_words_4_trim As Variant ' диапазон имён
    
    Rang_of_words_4_trim = Array("г. ", "адм. ", "п. ", "ул. ", "д. ", "к. ", "стр. ", "ст. ", "с. ")
    
    str1 = Rang_2_trim.Value
    
    For Each irange In Rang_of_words_4_trim
    
        If InStr( 1 , str1, irange) Then
next_iteration:
            If str_tmp <> "" Then str1 = str_tmp
            
                str15 = Mid(str1, InStr( 1 , str1, irange) + _
                        Len(irange),  1 )
                
                 If Mid(str1, InStr( 1 , str1, irange) + _
                        Len(irange),  1 ) = " " Then
                    'irange = irange
                    
                    pos = InStr( 1 , str1, irange) + Len(irange)
                    
                    str_tmp = Mid(str1,  1 , pos -  1 ) + _
                        Mid(str1, pos +  1 , Len(str1))
                    
                 GoTo next_iteration
                 
            End If
        'irange = irange
        End If
    
    Next
    
    Trim_string = str1

End Function

Возникает ошибка !ЗНАЧ
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Удаление пробелов в ячейках по правилу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]