Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/чистка "пустых ячеек" - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
чистка "пустых ячеек"
Scolt Дата: Понедельник, 03.03.2014, 17:39 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
В отчете всегда одинаковое кол-во столбцов, меняется только кол-во строк. Инструмент Выделение группы ячеек->Пустые ячейки->Delete не помогает. Причина в том, что в ячейках есть пробелы. Однако фильтр строк "Пустые" эти ячейки распознает. Мне необходим макрос, преобразующий "пустые ячейки" в реально пустые.
К сообщению приложен файл: 1940402.xls (27.0 Kb)
 
Ответить
СообщениеВ отчете всегда одинаковое кол-во столбцов, меняется только кол-во строк. Инструмент Выделение группы ячеек->Пустые ячейки->Delete не помогает. Причина в том, что в ячейках есть пробелы. Однако фильтр строк "Пустые" эти ячейки распознает. Мне необходим макрос, преобразующий "пустые ячейки" в реально пустые.

Автор - Scolt
Дата добавления - 03.03.2014 в 17:39
Pelena Дата: Понедельник, 03.03.2014, 18:09 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19401
Репутация: 4549 ±
Замечаний: ±

Excel 365 & Mac Excel
Здесь не смотрели?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдесь не смотрели?

Автор - Pelena
Дата добавления - 03.03.2014 в 18:09
nilem Дата: Понедельник, 03.03.2014, 18:57 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
попробуйте вот такую очистку
[vba]
Код
Sub ertert()
With Range("A1:F" & Cells(Rows.Count, 1).End(xlUp).Row)
     .Value = Application.Clean(.Value)
     'или даже так
     '.Value = Application.Trim(Application.Clean(.Value))
End With
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениепопробуйте вот такую очистку
[vba]
Код
Sub ertert()
With Range("A1:F" & Cells(Rows.Count, 1).End(xlUp).Row)
     .Value = Application.Clean(.Value)
     'или даже так
     '.Value = Application.Trim(Application.Clean(.Value))
End With
End Sub
[/vba]

Автор - nilem
Дата добавления - 03.03.2014 в 18:57
Alex_ST Дата: Понедельник, 03.03.2014, 19:46 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Я для чистки текста от всяких лишних пробелов такой процедурой пользуюсь:[vba]
Код
Sub Trim_By_Formula()   ' применить функцию СЖПРОБЕЛЫ к видимым ячейкам выделенного диапазона
     Dim rRng As Range, rSubRng As Range
     Set rRng = Intersect(ActiveWindow.RangeSelection.SpecialCells(xlCellTypeVisible), ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants))
     If rRng Is Nothing Then: Call Groups_Tuning: Exit Sub
     Application.ScreenUpdating = False: Application.EnableEvents = False
     With rRng
        .Replace Chr(160), " ", xlPart   ' Chr(160) - неразрывный пробел
        For Each rSubRng In .Areas
           rSubRng.Value = Application.Trim(rSubRng)   ' СЖПРОБЕЛЫ
        Next
        .Replace " " & Chr(10), Chr(10), xlPart   ' пробел перед LF
        .Replace Chr(10) & " ", Chr(10), xlPart  ' пробел после LF
        .Select
     End With
     Application.ScreenUpdating = True: Application.EnableEvents = True
End Sub
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Понедельник, 03.03.2014, 21:35
 
Ответить
СообщениеЯ для чистки текста от всяких лишних пробелов такой процедурой пользуюсь:[vba]
Код
Sub Trim_By_Formula()   ' применить функцию СЖПРОБЕЛЫ к видимым ячейкам выделенного диапазона
     Dim rRng As Range, rSubRng As Range
     Set rRng = Intersect(ActiveWindow.RangeSelection.SpecialCells(xlCellTypeVisible), ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants))
     If rRng Is Nothing Then: Call Groups_Tuning: Exit Sub
     Application.ScreenUpdating = False: Application.EnableEvents = False
     With rRng
        .Replace Chr(160), " ", xlPart   ' Chr(160) - неразрывный пробел
        For Each rSubRng In .Areas
           rSubRng.Value = Application.Trim(rSubRng)   ' СЖПРОБЕЛЫ
        Next
        .Replace " " & Chr(10), Chr(10), xlPart   ' пробел перед LF
        .Replace Chr(10) & " ", Chr(10), xlPart  ' пробел после LF
        .Select
     End With
     Application.ScreenUpdating = True: Application.EnableEvents = True
End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 03.03.2014 в 19:46
Alex_ST Дата: Понедельник, 03.03.2014, 21:34 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
nilem,
а что за метод Application.Clean ? Что чистит? Если только непечатаемые символ как ПЕЧСИМВ, так это, наверное, не совсем то, что нужно Scolt.
Что-то я этот метод в справке VBA не нашёл. Но твой код работает.
Подумал было, что это ты WorksheetFunction опустил как это иногда делают и правильнее было бы писать [vba]
Код
.Value = Application.WorksheetFunction.Clean(.Value)
[/vba]ан нет! Ошибку Type mismatch выдаёт. :'(



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Понедельник, 03.03.2014, 21:34
 
Ответить
Сообщениеnilem,
а что за метод Application.Clean ? Что чистит? Если только непечатаемые символ как ПЕЧСИМВ, так это, наверное, не совсем то, что нужно Scolt.
Что-то я этот метод в справке VBA не нашёл. Но твой код работает.
Подумал было, что это ты WorksheetFunction опустил как это иногда делают и правильнее было бы писать [vba]
Код
.Value = Application.WorksheetFunction.Clean(.Value)
[/vba]ан нет! Ошибку Type mismatch выдаёт. :'(

Автор - Alex_ST
Дата добавления - 03.03.2014 в 21:34
RAN Дата: Понедельник, 03.03.2014, 22:36 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
А я думал очепятка! :'(


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеА я думал очепятка! :'(

Автор - RAN
Дата добавления - 03.03.2014 в 22:36
nilem Дата: Понедельник, 03.03.2014, 23:02 | Сообщение № 7
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Что чистит?

Привет, Алекс,
чистит, например, апострофы и еще много всякой ерунды (в файле ТС как раз не пробелы, а "ерунда":)).
И да, некоторые методы Application и WorksheetFunction работают по-разному, хотя называются одинаково.


Яндекс.Деньги 4100159601573
 
Ответить
Сообщение
Что чистит?

Привет, Алекс,
чистит, например, апострофы и еще много всякой ерунды (в файле ТС как раз не пробелы, а "ерунда":)).
И да, некоторые методы Application и WorksheetFunction работают по-разному, хотя называются одинаково.

Автор - nilem
Дата добавления - 03.03.2014 в 23:02
Alex_ST Дата: Вторник, 04.03.2014, 09:11 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Что ж я его в Справке-то найти не могу? %)
Это полный аналог функции ПЕЧСИМВ?



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеЧто ж я его в Справке-то найти не могу? %)
Это полный аналог функции ПЕЧСИМВ?

Автор - Alex_ST
Дата добавления - 04.03.2014 в 09:11
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!