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

Вход

Регистрация

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

 

= Мир MS Excel/Удаление строк если значение ячейки равно нулю или пусто - Страница 2 - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 2 из 2«12
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление строк если значение ячейки равно нулю или пусто (Макросы/Sub)
Удаление строк если значение ячейки равно нулю или пусто
sboy Дата: Четверг, 16.02.2017, 17:03 | Сообщение № 21
Группа: Проверенные
Ранг: Обитатель
Сообщений: 317
Репутация: 90 ±
Замечаний: 0% ±

Excel 2010
Попробуйте так
[vba]
Код
Sub removeBlankRows()
    Application.ScreenUpdating = False
    Dim sh As Worksheet, lr As Long, i As Long
    For Each sh In ThisWorkbook.Sheets
        If sh.Name Like "Ñêë*" Then
            With sh
                'If Not Intersect(.Range("A5:A26"), .UsedRange) Is Nothing Then
                lr = .Cells(Rows.Count, 1).End(xlUp).Row
                    q = 0
                    For Each cl In .Range("A5:A26").Cells
                        If cl.Value <> "" Then q = q + 1
                    Next cl
                If q > 0 Then
                    For i = lr To 5 Step -1
                        If .Cells(i, 1) = "" Then .Rows(i).Hidden = True
                    Next i
                    .PrintOut Copies:=1
                End If
            End With
        End If
    Next sh
    Application.ScreenUpdating = True
End Sub
[/vba]
К сообщению приложен файл: 6534800.xlsm(30Kb)
 
Ответить
СообщениеПопробуйте так
[vba]
Код
Sub removeBlankRows()
    Application.ScreenUpdating = False
    Dim sh As Worksheet, lr As Long, i As Long
    For Each sh In ThisWorkbook.Sheets
        If sh.Name Like "Ñêë*" Then
            With sh
                'If Not Intersect(.Range("A5:A26"), .UsedRange) Is Nothing Then
                lr = .Cells(Rows.Count, 1).End(xlUp).Row
                    q = 0
                    For Each cl In .Range("A5:A26").Cells
                        If cl.Value <> "" Then q = q + 1
                    Next cl
                If q > 0 Then
                    For i = lr To 5 Step -1
                        If .Cells(i, 1) = "" Then .Rows(i).Hidden = True
                    Next i
                    .PrintOut Copies:=1
                End If
            End With
        End If
    Next sh
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - sboy
Дата добавления - 16.02.2017 в 17:03
Wasilich Дата: Четверг, 16.02.2017, 23:56 | Сообщение № 22
Группа: Друзья
Ранг: Старожил
Сообщений: 1066
Репутация: 291 ±
Замечаний: 0% ±

2003
Слишком много сарказм. Я взял пример из поста 12 и вставил формулу
На счет сарказма, если это сарказм, то можно было и больше. :D
Я тоже брал пример из поста 12 и все работало. А вы, с 5-го по 17-й пост твердите, что не работает. Потом оказывается, там формула. А нам то, откуда знать. Ни в одном примере формул не было.
значение ="", что для меня это означает "пусто".
Это для вас пусто, а для кода[vba]
Код
lr = .Cells(Rows.Count, 1).End(xlUp).Row
[/vba]не пусто.
Так что, обиды оставь для себя. Успехов.
 
Ответить
Сообщение
Слишком много сарказм. Я взял пример из поста 12 и вставил формулу
На счет сарказма, если это сарказм, то можно было и больше. :D
Я тоже брал пример из поста 12 и все работало. А вы, с 5-го по 17-й пост твердите, что не работает. Потом оказывается, там формула. А нам то, откуда знать. Ни в одном примере формул не было.
значение ="", что для меня это означает "пусто".
Это для вас пусто, а для кода[vba]
Код
lr = .Cells(Rows.Count, 1).End(xlUp).Row
[/vba]не пусто.
Так что, обиды оставь для себя. Успехов.

Автор - Wasilich
Дата добавления - 16.02.2017 в 23:56
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление строк если значение ячейки равно нулю или пусто (Макросы/Sub)
Страница 2 из 2«12
Поиск:

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