Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2019, 14:13   #1
drongo777
Пользователь
 
Регистрация: 14.08.2019
Сообщений: 16
По умолчанию Макрос удаления пустых строк после текста.

Добрый день. Нужно убрать пустые строки (с пробелами и переносами) в ячейках после текста. Как это осуществить с помощью макроса?
drongo777 вне форума Ответить с цитированием
Старый 16.08.2019, 14:20   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

если выложить файл с примером таких строк - то помощь может прийти быстрее.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.08.2019, 14:48   #3
drongo777
Пользователь
 
Регистрация: 14.08.2019
Сообщений: 16
По умолчанию

Прикладываю файл примера. Количество пустых после текста разное.
Вложения
Тип файла: xlsx Книга1.xlsx (9.3 Кб, 12 просмотров)
drongo777 вне форума Ответить с цитированием
Старый 16.08.2019, 18:27   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

вручную можно.

отсюда - http://office-guru.ru/excel/kak-udal...-2007-437.html

Цитата:
Удаляем возвраты каретки вручную
Плюсы: Этот способ самый быстрый.

Минусы: Никаких дополнительных плюшек

Вот так можно удалить переносы строк при помощи инструмента «Найти и заменить»:

Выделите все ячейки, в которых требуется удалить возвраты каретки или заменить их другим символом.
Нажмите Ctrl+H, чтобы вызвать диалоговое окно Найти и заменить (Find and Replace).


Поставьте курсор в поле Найти (Find what) и нажмите Ctrl+J. На первый взгляд поле покажется пустым, но если посмотрите внимательно, то увидите в нём маленькую точку.
В поле Заменить на (Replace With) введите любое значение для вставки вместо возвратов каретки. Обычно для этого используют пробел, чтобы избежать случайного склеивания двух соседних слов. Если нужно просто удалить переносы строк, оставьте поле Заменить на (Replace With) пустым.
Нажмите кнопку Заменить все (Replace All) и наслаждайтесь результатом!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.08.2019, 18:48   #5
drongo777
Пользователь
 
Регистрация: 14.08.2019
Сообщений: 16
По умолчанию

Этот метод, к сожалению, не подходит, т.к. у текста тоже уберутся переносы. Мне же нужно, чтобы после текста убрались пустые строчки с переносами.
drongo777 вне форума Ответить с цитированием
Старый 16.08.2019, 18:51   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от drongo777 Посмотреть сообщение
Этот метод, к сожалению, не подходит, т.к. у текста тоже уберутся переносы.
ок.

а если такой макрос:
Код:
Sub TrimAll()
Dim C As Range
For Each C In ActiveSheet.UsedRange
  If Len(C) > 0 Then
     C.Value = Trim(C.Value)
  End If
Next
End Sub

Последний раз редактировалось Serge_Bliznykov; 16.08.2019 в 18:53.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.08.2019, 19:09   #7
drongo777
Пользователь
 
Регистрация: 14.08.2019
Сообщений: 16
По умолчанию

Поставил, ничего не происходит
Вложения
Тип файла: xlsx Книга1.xlsx (9.2 Кб, 11 просмотров)
drongo777 вне форума Ответить с цитированием
Старый 16.08.2019, 19:35   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

ладно. ещё одна попытка.
пробуйте
Код:
Option Explicit

Sub TrimAll()
Dim C As Range, s$, i%, symb%
For Each C In ActiveSheet.UsedRange
  If Len(C.Value) > 0 Then
     s = Trim(C.Value)
     i = Len(s)
     While (i > 1) And (Asc(Mid(s, i, 1)) < 33)
        i = i - 1
     Wend
     C.Value = Left(s, i)
  End If
Next
End Sub
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.08.2019, 20:04   #9
drongo777
Пользователь
 
Регистрация: 14.08.2019
Сообщений: 16
По умолчанию

Супер! Спасибо большое!
drongo777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подфиксить макрос по удалению пустых строк в таблице. Vatorin Microsoft Office Word 0 21.10.2014 16:50
Макрос удаления 300 строк после .... lakcin Microsoft Office Excel 3 31.08.2014 15:04
макрос для удаления строк??? mixa2997510 Microsoft Office Excel 3 21.05.2012 13:38
Макрос удаления пустых ячеек и листов книги sna1 Microsoft Office Excel 2 04.05.2011 20:49
Макрос для удаления повторяющихся строк Jelena_bsb Microsoft Office Excel 3 05.08.2010 13:34