powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Удаление всей строки
14 сообщений из 39, страница 2 из 2
Удаление всей строки
    #34440508
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не хотел спорить, но бесконечки действительно нет... ;)
...
Рейтинг: 0 / 0
Удаление всей строки
    #34440510
S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
S
Гость
Deggasad

Токлько смотри If Cells(i, 7).Text = 0, находит только нулевые значения, но не пустые ячейки

Да, мне и нужно удалять не пустые строки, где значение в стобце G = числу 0.

LastRow = Range("G:G").Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
А как можно интерпретировать данное выражение? Особенно не понятны переменные внутри функции Find (если это функция)?
...
Рейтинг: 0 / 0
Удаление всей строки
    #34440572
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тю... ну я ж те уже написал:
ПоследняяСтрока= ВДиапазоне("Г:Г").Найти(Что="ЧТО-НИБУДЬ", НаправлениеПоиска=Дальше, ПорядокПоиска=ПоСтрокам).Строка

т.е. выдаёт номер строки в которой из столбца Г было что-нибудь найдено...
...
Рейтинг: 0 / 0
Удаление всей строки
    #34440585
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точнее не Дальше, а Предыдущее...
короче находит последнюю строку...

Блин, где кнопка "Правка"?!?!?! надоело флудить...
...
Рейтинг: 0 / 0
Удаление всей строки
    #34440586
S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
S
Гость
Granata005ПоследняяСтрока= ВДиапазоне("Г:Г").Найти(Что="ЧТО-НИБУДЬ", НаправлениеПоиска=Дальше, ПорядокПоиска=ПоСтрокам).Строка

Понятно. Спасибо. А по русски будет работать? :)

Только не все понятно: в конце ".Строка" говорит о том, что нужно вернуть номер строки? это такое свойство Строка. Вообще, мне визуально трудно отличать, где в такого рода выражениях методы, а где свойства. Вроде как после функции с параметрами добавляется свойство? Или нет. Объясните, пожалуйста?
...
Рейтинг: 0 / 0
Удаление всей строки
    #34440606
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Range возвращает диапазон
Find ищет в этом диапазоне и возвращает найденную ячейку
Row - свойство найденной ячейки которую вернула Find.
...
Рейтинг: 0 / 0
Удаление всей строки
    #34440656
S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
S
Гость
Granata005Range возвращает диапазон
Find ищет в этом диапазоне и возвращает найденную ячейку
Row - свойство найденной ячейки которую вернула Find.

Т.е. получается Range - это объект, Find - метод данного объекта, в результате работы которого получаем объект - ячейку с конкретным адресом. А далее с помощью свойства Row получаем номер строки найденного объекта(т.е. ячейки). Так или нет?
...
Рейтинг: 0 / 0
Удаление всей строки
    #34440684
andMegaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SПодскажиет, пожалуйста, как сделать на VBA следующее:
Необходимо перебрать ячейки одного столбца и в случае, если значение этой ячейки равно нулю, необходимо удалить всю строку, в которой находится данная ячейка.

А я для себя решил сделать так.

Сначала очищается строка, где есть значение 0 "Ноль" (в колонке C)

Код: plaintext
1.
2.
 For i =  1  To ActiveCell.SpecialCells(xlLastCell).Row
      If Cells(i,  3 ).Value =  0  Then Rows(i).ClearContents
    Next i

По том удаляю все строки, в которых нет ни одной записи

Код: plaintext
1.
2.
3.
4.
5.
LastRow = ActiveSheet.UsedRange.Rows.Count
LastRow = LastRow + ActiveSheet.UsedRange.Row -  1 
Application.ScreenUpdating = False
For r = LastRow To  1  Step - 1 
If Application.CountA(Rows(r)) =  0  Then Rows(r).Delete
Next r
...
Рейтинг: 0 / 0
Удаление всей строки
    #34440687
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да...
Range он и обьект, и функция возвращающая обьект...
там чёрт ногу сломит :) главное что работает
...
Рейтинг: 0 / 0
Удаление всей строки
    #34441383
S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
S
Гость
А подскажите еще, как сделать, чтобы курсор на листе переместился в заданные координаты?
...
Рейтинг: 0 / 0
Удаление всей строки
    #34441426
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SА подскажите еще, как сделать, чтобы курсор на листе переместился в заданные координаты?

Range("A1").Select
...
Рейтинг: 0 / 0
Удаление всей строки
    #34441532
S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
S
Гость
Deggasad SА подскажите еще, как сделать, чтобы курсор на листе переместился в заданные координаты?

Range("A1").Select

Супер!
Что только не перепробовал.
Спасибо!
...
Рейтинг: 0 / 0
Удаление всей строки
    #34441627
S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
S
Гость
Есть еще вопрос.
Теперь необходимо удалить строки в которых одна из ячеек содержит дату. И в случае, если дата позже определенной даты - удалить все строку. Т.е. ДД.ММ.ГГГГ > 31.03.2007 то удаляем.
Если сделать так, то удаляет, но все равно остаются строки где дата больше 31.03.2007 и вообще не понятно, что удаляет.

For i = LastRow To 1 Step -1
If Cells(i, 5).Value > "31.03.2007" Then
MyCount = MyCount + 1
Rows(i).Delete
End If
Next i

Как можно сделать?
...
Рейтинг: 0 / 0
Удаление всей строки
    #34441656
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SЕсть еще вопрос.
Теперь необходимо удалить строки в которых одна из ячеек содержит дату. И в случае, если дата позже определенной даты - удалить все строку. Т.е. ДД.ММ.ГГГГ > 31.03.2007 то удаляем.
Если сделать так, то удаляет, но все равно остаются строки где дата больше 31.03.2007 и вообще не понятно, что удаляет.

For i = LastRow To 1 Step -1
If Cells(i, 5).Value > "31.03.2007" Then
MyCount = MyCount + 1
Rows(i).Delete
End If
Next i

Как можно сделать?

dim x as date
x = "31.03.2007"
For i = LastRow To 1 Step -1
If Format(Cells(i, 5).Value, "dd.mm.yyyy") > x Then
MyCount = MyCount + 1
Rows(i).Delete
End If
Next i
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Удаление всей строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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