powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как удалить пробелы внутри слова в ячейке
31 сообщений из 31, показаны все 2 страниц
Как удалить пробелы внутри слова в ячейке
    #33351872
Admiral67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если пользоваться функцией СЖПРОБЕЛЫ, то убираются пробелы в начале и конце текста, а что если в первоисточнике мы имеем 3M5T 14A584 ADL (текст в одной ячейке), а надо получить 3M5T14A584ADL.
Ручками править как вы понимаете неудобно и очень долго - каждый день таких ячеек "набегает" 200-300. Что можно использовать?
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33351927
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=ПОДСТАВИТЬ(A1;" ";"")
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33352206
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмит=ПОДСТАВИТЬ(A1;" ";"")

более общая задачка :
есть две строки символов одинаковой длины например
йцукенг..........
qwertuio..........
посоветуйте
как быстро перекодировать весь лист EXCEL
по принципу
й=q
ц=w
у=e
..........
не прибегая к перебору цикл в цикле
Спасибо !
==============
Alex
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33356336
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверо можно воспользоватся вложением, типа:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"г";"u");"ш";"i");"щ";"o");"з";"p")
заместо А1 - т.д. весь алфавит.
Но элегантней сделать функцию VBA (конечно с циклами).
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33356568
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДмитНаверо можно воспользоватся вложением, типа:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"г";"u");"ш";"i");"щ";"o");"з";"p")
заместо А1 - т.д. весь алфавит.
Но элегантней сделать функцию VBA (конечно с циклами).
медленно
до и строки - переменные
подставить (... не получается
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33358837
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда прямой путь VBA. Если получать данные с листа-обрабатывать массив-возвращать данные, получится может быть и не быстро, но работать будет удобно для Вас.
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33359173
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДмитТогда прямой путь VBA. Если получать данные с листа-обрабатывать массив-возвращать данные, получится может быть и не быстро, но работать будет удобно для Вас.
Спасибо Дмитрий
но все же хотелось бы обойтись без прокрутки
в цикле по символам строки
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33359493
Фотография 100g
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX -- ALEX Дмит=ПОДСТАВИТЬ(A1;" ";"")

более общая задачка :
есть две строки символов одинаковой длины например
йцукенг..........
qwertuio..........
посоветуйте
как быстро перекодировать весь лист EXCEL
по принципу
й=q
ц=w
у=e
..........
не прибегая к перебору цикл в цикле
Спасибо !
==============
Alex

Это из области шифрования данных.
Самому надо было.
Такой встроенной функции Екселе нет.
Тока самому писать.
М:(
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33359916
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возвращаясь к первоначальному вопросу. Можно выделить нужный диапазон и в меню Правка->Заменить... заменить побелы на ничего.)
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33360311
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX --ALEX !
Если вся твоя проблема в неправильной раскладке клавиатуры и необходимости последующей замены русских символов на английский, то поищи готовые функции. Я неоднократно встречал их в Интернете.
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33361399
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
100g MX -- ALEX Дмит=ПОДСТАВИТЬ(A1;" ";"")

более общая задачка :
есть две строки символов одинаковой длины например
йцукенг..........
qwertuio..........
посоветуйте
как быстро перекодировать весь лист EXCEL
по принципу
й=q
ц=w
у=e
..........
не прибегая к перебору цикл в цикле
Спасибо !
==============
Alex

Это из области шифрования данных.
Самому надо было.
Такой встроенной функции Екселе нет.
Тока самому писать.
М:(
кто может написать такое
и за сколько баксов ?
(не циклы на VBA !)
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33361443
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
без цЫкловможно RegExp придумать
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33362201
Фотография 100g
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX -- ALEXкто может написать такое
и за сколько баксов ?
(не циклы на VBA !)
Нда!
Согласен. А важно, что без Цикла Вообще Не Обойтись!
Даже если найдётся встроенная функция, то там внутри всё равно есть цикл.
Так что думаю проще написать самому:)
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33362232
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понятна основная задача.
Уйти от циклов?
Ускорить программу?
...?
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33363407
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДмитНе понятна основная задача.
Уйти от циклов?
Ускорить программу?
...?
конечно же ускорить программу
но цикл на ассемблере думаю будет крутить быстрее чем на VBA
сейчас работаем на цикле VBA - тормозит
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33364357
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С ассемблером это ты загнул. Выбери другую среду разработки.
В FoxPro команда Replace Field1 with chrtran(Field1,"йцу","qwe") выполняется
максимум 2-3 секунды для средних размеров базы.
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33364410
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
5631С ассемблером это ты загнул. Выбери другую среду разработки.
В FoxPro команда Replace Field1 with chrtran(Field1,"йцу","qwe") выполняется
максимум 2-3 секунды для средних размеров базы.
надо перекодировать 50000 строк текста на EXCEL
в строке 20 ячеек в среднем по 10 знаков
за максимум секунду
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33364938
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хранить 50 000 строк в Excele, вообще, смерти подобно. Такой файл
даже открываться будет не за 1 секунду.
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33365099
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ускорить то:
VBA-стандартный совет-выгрузить в массив,обработать (конечно циклами), загрузить назад.
Если медлено, то перейти на любой более быстрый язык (.dll) лутше С.
Совет выгрузить в базу данных, обработать и назад, тоже не лишён смысла. Лутше конечно данные и оставить там, 50000 строк немало!
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33365516
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
5631Хранить 50 000 строк в Excele, вообще, смерти подобно. Такой файл
даже открываться будет не за 1 секунду.
да не храним мы ничего в EXCEL
надо массив отобразить на EXCEL для печати-просмотра
при этом перекодировать из 8-битной базы в 16-битный EXCEL
но сделать это не в базах - они далеко
а на EXCEL-клиенте
причем кодировки в разных базах - разные
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33365665
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33365712
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX -- ALEX
Вот вы там продаете регулярно надстройку какую-то... за 500.
А судя по вопросам, у вас еще ничего не работает?
Да и вообще стыдно, найти решения здесь, а потом, компилировав их, продавать.
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33367453
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то я не понял, на фразу про RegExp все дружно забили?
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33367519
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fundddчто-то я не понял, на фразу про RegExp все дружно забили?
А никто не знает что это такое. А те кто знает им подобные задачи не интересны вообще :)
Хотя прикола ради, а вообще regexp'ы в Excel засунуть можно? Разве что внешнюю программу (или dll какую-нибудь писать).
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33367765
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlХотя прикола ради, а вообще regexp'ы в Excel засунуть можно? Разве что внешнюю программу (или dll какую-нибудь писать).
Для подключения regexp, как обычно Tools->References выбери Microsoft VBScript Regular Expressions X.X и юзай на здоровье :)
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33367780
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмит White OwlХотя прикола ради, а вообще regexp'ы в Excel засунуть можно? Разве что внешнюю программу (или dll какую-нибудь писать).
Для подключения regexp, как обычно Tools->References выбери Microsoft VBScript Regular Expressions X.X и юзай на здоровье :)
Ишь ты! Действительно работает. Век живи, век учись... впрочем оно мне ни разу и не нужно было :)
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33369755
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Воспользовался своим советом:
Уменя была Транслит функция на чисто VBA.
Сделал аналог на RegExp.
Тестирую 5 колонн* 7550 строк, старая 41с - новая 13с.
Если делать замену в 50'000 строк, есть резон использовать RegExp.
Я использую Транслит для чтения писем, так что мне и старой скорости достаточно.
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33369887
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX--ALEXпри этом перекодировать из 8-битной базы в 16-битный EXCEL Может быть из базы в текстовый файл, а уже его открыть Excel. При открытии текстовых он спрашивает в какой кодировке и открывает как надо.
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33369891
ДмитВоспользовался своим советом:
Уменя была Транслит функция на чисто VBA.
Сделал аналог на RegExp.
Тестирую 5 колонн* 7550 строк, старая 41с - новая 13с.
Если делать замену в 50'000 строк, есть резон использовать RegExp.
Я использую Транслит для чтения писем, так что мне и старой скорости достаточно.

аж интересно стало - накидал "побыстрому" траслит кирилица->латиница.
"чистый" VBA без выкрутасов.

простой цикл 1-37750 - 2.5 сек, заменяемая строка - 18 символов

замена в Эксель - 10000 строк, 20 столбцов, случайно-генерированный кирилический текст длиной 10 символов в каждой ячейке без пробелов и символов, не подлежащих транслитерации.

Итог - 8.5 сек.

комп - Целерон 1700

'-----------------------
Дмит, не затруднит ли показать вариант для Regexp?
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33370023
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Главная часть кода:
Код: 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.
Dim  sm As String
Dim RG As Range
Dim ReEx As New RegExp
Dim i As Long, j As Long, Max As Long, Max2 As Long, k As Long
Dim Xvar As Variant

    If TypeName(Selection) = "Range" Then
        Set RG = Selection
        Xvar = RG
        With ReEx
            .Global = True
            .IgnoreCase = True
            Max = UBound(Xvar,  1 )
            Max2 = UBound(Xvar,  2 )
            For k =  1  To  33 
                .Pattern = Cells(k,  15 )'русская буква
                sm = Cells(k,  16 )'латиница
                For i =  1  To Max
                    For j =  1  To Max2
                        Xvar(i, j) = .Replace(Xvar(i, j), sm)
                    Next
                Next
            Next
        End With
        RG = Xvar
        
    Else: MsgBox "Выделите ячейки для транслитерации.", vbOKOnly, "Книжная полка"
    End If
...
Рейтинг: 0 / 0
Как удалить пробелы внутри слова в ячейке
    #33370105
че-то ничего из этого кода у меня умного не получилось.
может где не понял, но по приложенным тестам эти конкретные выражания в 20 раз медленнее, чем "простой вба".

так что я пока, по глупости, воздержусь "рекомендовать выражения"
хотя, может, выражения как - нибудь иначе сказать можно?

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


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