Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
 Аватар для Linked
21 / 21 / 6
Регистрация: 12.12.2010
Сообщений: 677

Удаление строк

09.09.2015, 15:50. Показов 2680. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, почему у меня не удаляет строки. Вот код:
Visual Basic
1
2
3
4
5
6
7
8
Sub DeleteNullValues()
Dim i As Integer
For i = 15 To 94
    If (Cells(i, 7).Values = "") Then
        Cells(i, 7).Cols.Delete
    End If
Next i
End Sub
Да, мне ещё подсказали что у меня произойдёт смещение при удалении, но пока это не толь важно.. Главное понять как удалить строки
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.09.2015, 15:50
Ответы с готовыми решениями:

удаление строк
мне надо удалить строки. Посмотрел как это делает сам excel через макрос: Sub delete1() Rows("A1:A100").Select ...

Удаление строк
Здравствуйте! Подскажите в чем может быть проблема. Делаю макрос чтобы он удалял строки в которых присутствует знак "-" Он...

Автоматическое удаление строк
Нужно Сделать автоматическое удаления строк. Оставивиnm Поля Учебный план,Факультет,Кафедра,Дисциплина,Специальность,Экзамены,Зачёты с...

11
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,907
09.09.2015, 16:00
Cols замените на entirerows ?
1
 Аватар для Linked
21 / 21 / 6
Регистрация: 12.12.2010
Сообщений: 677
09.09.2015, 16:08  [ТС]
P.S: и этот код тоже не работает. В интернете вижу только какие то путаницы.. Неужели нельзя просто выбрать какуюто ячейку и удалить строку выбранной ячейки?
Visual Basic
1
2
3
4
5
6
7
8
Sub DeleteNullValues()
Dim i As Integer
For i = 15 To 94
    If (Cells(i, 7).Values = "") Then
        Rows(i).Delete
    End If
Next i
End Sub
Добавлено через 36 секунд
Апострофф, ошибка 438

Добавлено через 6 минут
Sub DeleteNullValues()
Dim i As Integer
For i = 15 To 94
If (Cells(i, 7).Values = "") Then
Cells(i, 7).EntireRows.Delete
End If
Next i
End Sub
0
15 / 15 / 5
Регистрация: 01.12.2014
Сообщений: 117
09.09.2015, 16:22
Visual Basic
1
2
3
4
5
6
7
8
Sub DeleteNullValues()
Dim i As Integer
    For i = 15 To 94
        If Cells(i, 7).Value = "" Then
            Rows(i).EntireRow.Delete
        End If
    Next i
End Sub
Цитата Сообщение от Linked Посмотреть сообщение
Неужели нельзя просто выбрать какуюто ячейку и удалить строку выбранной ячейки?
можно
Visual Basic
1
2
3
If Cells(i, 7).Value = "" Then
cells(i, 7).Select
Selection.EntireRow.Delete
1
 Аватар для Linked
21 / 21 / 6
Регистрация: 12.12.2010
Сообщений: 677
09.09.2015, 16:28  [ТС]
Ошибка: Object Doesn't support this property or method
0
15 / 15 / 5
Регистрация: 01.12.2014
Сообщений: 117
09.09.2015, 16:33
Цитата Сообщение от Linked Посмотреть сообщение
Ошибка: Object Doesn't support this property or method
Позвольте узнать в какой строке это происходит?
0
 Аватар для Linked
21 / 21 / 6
Регистрация: 12.12.2010
Сообщений: 677
09.09.2015, 16:35  [ТС]
сороконожка, на этой: Selection.EntireRow.Delete
0
15 / 15 / 5
Регистрация: 01.12.2014
Сообщений: 117
09.09.2015, 16:40
Лучший ответ Сообщение было отмечено Linked как решение

Решение

Что то не то выделяете.
Попробуйте так.

Visual Basic
1
2
3
4
5
6
7
8
9
10
Sub DeleteNullValues1()
With ActiveSheet
Dim i As Integer
    For i = 1 To 94
        If Cells(i, 7).Value = "" Then
            Rows(i).EntireRow.Delete
        End If
    Next i
End With
End Sub
1
 Аватар для Linked
21 / 21 / 6
Регистрация: 12.12.2010
Сообщений: 677
09.09.2015, 16:41  [ТС]
сороконожка, да, работает! Что эта строка означает? With ActiveSheet
0
15 / 15 / 5
Регистрация: 01.12.2014
Сообщений: 117
09.09.2015, 16:41
Хмм... лагануло что-то.

Цитата Сообщение от Linked Посмотреть сообщение
Что эта строка означает? With ActiveSheet
Меняет фокус на активный лист, если ваш макрос расположен в модуле книги например.

Если нужен конкретный лист - используйте With Sheets("Sheetname")... end with
1
 Аватар для Linked
21 / 21 / 6
Регистрация: 12.12.2010
Сообщений: 677
09.09.2015, 16:51  [ТС]
сороконожка, Спасибо!
0
15 / 15 / 5
Регистрация: 01.12.2014
Сообщений: 117
09.09.2015, 16:56
Цитата Сообщение от Linked Посмотреть сообщение
Почему цикл не работает?
Visual Basic
1
2
3
4
5
6
7
8
9
Sub DeleteLin()
With ActiveSheet
Dim i As Integer
For i = 94 To 15 step -1
    If Cells(i, 7).Value = "" Then
        Rows(i).EntireRow.Delete
    End If
Next i
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.09.2015, 16:56
Помогаю со студенческими работами здесь

Удаление строк по условию
Народ, помогите ускорить процесс: For i = 10000 To 1 Step -1 If Cells(i, 2) = "" Then Range(Cells(i, 1), Cells(i,...

Удаление непустых строк
Private Sub CommandButton4_Click() If Application.Intersect(ActiveCell, ActiveSheet.UsedRange) Is Nothing _ Or...

Редактирование и удаление строк
при запуски формы данные с листа передаются на listbox в форму. передает все хорошо, но есть и минус. последняя строчка отображается...

Удаление строк в таблице
Здравствуйте есть макрос, который удаляет строки, если в столбце "B" шрифт ячейки красного цвета: Sub Макрос1() Dim sh As...

Удаление строк в таблице
Ещё раз всем привет! Каким образом можно удалять строки в исходной таблице? У меня есть Юзерформа, на которой расположены лейблы с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru