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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2011, 12:01   #1
Петро1
Пользователь
 
Регистрация: 25.02.2011
Сообщений: 23
По умолчанию Макрос удалить пустые строки убрать ноли

Доброго времени суток. Я создал новую тему, чтоб не засорять предыдущие, может там кому-то что-то тоже понадобится.
Теперь проблема в другом. Есть на листе пустые строки, их нужно удалить. А также напротив названий товаров есть ненужные ноли (они образовались при пересчёте формулой всего столбца), так их (ноли) тоже нужно убрать. Сообственно ноли находятся напротив "красных" слов, то-есть нужно именно их удалить. В общем в примере понятнее.
Помогите пожалуйста разобратся с проблемкой.
Петро1 вне форума Ответить с цитированием
Старый 27.02.2011, 12:10   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
В общем в примере понятнее.
А кто спорит? пример бы посмотреть
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.02.2011, 12:15   #3
Петро1
Пользователь
 
Регистрация: 25.02.2011
Сообщений: 23
По умолчанию

Ой, прстите, исправлюсь.
Вложения
Тип файла: rar Книга1.rar (1.8 Кб, 32 просмотров)
Петро1 вне форума Ответить с цитированием
Старый 27.02.2011, 12:41   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

две строки заголовков, две строки макроса.
Код:
Sub DelBlankRow()
  Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  ActiveWindow.DisplayZeros = False
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.02.2011, 12:47   #5
Петро1
Пользователь
 
Регистрация: 25.02.2011
Сообщений: 23
По умолчанию

Ув. IgorGO спасибо вам.
Петро1 вне форума Ответить с цитированием
Старый 27.02.2011, 16:30   #6
Петро1
Пользователь
 
Регистрация: 25.02.2011
Сообщений: 23
По умолчанию

Так, я вынужден вернутся к даному вопросу. Тут, на сколько я понимаю, ноли просто скрываются. А мне надо, чтоб они именно удалялись. Если можна, подскажите как внести поправку?!
Петро1 вне форума Ответить с цитированием
Старый 27.02.2011, 16:41   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

макрос усложнился:
Код:
Sub DelBlankRow()
  On Error Resume Next
  Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
'  ActiveWindow.DisplayZeros = False
  For r = 2 To Cells(Rows.Count, 2).End(xlUp).Row
    If Cells(r, 2) = 0 Then Cells(r, 2).ClearContents
  Next
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.02.2011, 13:04   #8
Петро1
Пользователь
 
Регистрация: 25.02.2011
Сообщений: 23
По умолчанию

О, отлично, благодарю.
Петро1 вне форума Ответить с цитированием
Старый 28.02.2011, 16:28   #9
Alex_ST
Пользователь
 
Аватар для Alex_ST
 
Регистрация: 04.12.2009
Сообщений: 28
По умолчанию

А может логичнее поменять местами процедуру удаления пустых строк и цикл стирания нулей (ведь строки, где были нули, после стирания тоже станут пустыми) и ускорить запретом обновления экрана?
Код:
Sub DelBlankRow()
   On Error Resume Next
   Application.ScreenUpdating = False
   For r = 2 To Cells(Rows.Count, 2).End(xlUp).Row
      If Cells(r, 2) = 0 Then Cells(r, 2).ClearContents
   Next
   Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
   Application.ScreenUpdating = True
End Sub
Alex_ST вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить пустые строки из TStringList apromix Общие вопросы Delphi 5 14.09.2016 12:14
Удалить пустые строки из Memo W0LF Общие вопросы Delphi 4 11.09.2010 16:52
удалить пустые строки в txt файле andreton Помощь студентам 3 05.06.2010 21:35
Удалить лишние пустые строки vfv Microsoft Office Excel 2 09.03.2010 11:05
Как удалить пустые строки в WORD? KUNAR Microsoft Office Word 2 04.09.2007 20:56