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

Вход

Регистрация

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

 

= Мир MS Excel/Цикл выдает ошибку на условие - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Цикл выдает ошибку на условие
Сергей13 Дата: Воскресенье, 27.10.2019, 13:33 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте!
Ребята, пытаюсь через цикл произвести проверку и произвести удаление строк при совпадении данных в строках таблицы с данными в комбобоксе. При выполнении кода выдается ошибка на условие при переходе по ошибки в редактор vba код как бы выполняется.
Какие ошибки наделал, что исправить?
К сообщению приложен файл: test13.xlsm (26.1 Kb)


Сообщение отредактировал Сергей13 - Воскресенье, 27.10.2019, 14:02
 
Ответить
СообщениеЗдравствуйте!
Ребята, пытаюсь через цикл произвести проверку и произвести удаление строк при совпадении данных в строках таблицы с данными в комбобоксе. При выполнении кода выдается ошибка на условие при переходе по ошибки в редактор vba код как бы выполняется.
Какие ошибки наделал, что исправить?

Автор - Сергей13
Дата добавления - 27.10.2019 в 13:33
nilem Дата: Воскресенье, 27.10.2019, 14:59 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Сергей13, привет
Если удалять построчно, то нужно идти от последней строки к первой.
Или, например, так:
[vba]
Код
Private Sub CommandButton3_Click()
Dim r As Range

Set GroupSheet = ThisWorkbook.Worksheets("group")
Set TablFioObj = GroupSheet.ListObjects("tabl_fio")

For Each FioTablRow In TablFioObj.ListRows
    If FioTablRow.Range(1, 2) = FormBD.Cmb_fio.Value Then
        If r Is Nothing Then Set r = FioTablRow.Range Else Set r = Union(r, FioTablRow.Range)
    End If
Next

If Not r Is Nothing Then r.Delete
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеСергей13, привет
Если удалять построчно, то нужно идти от последней строки к первой.
Или, например, так:
[vba]
Код
Private Sub CommandButton3_Click()
Dim r As Range

Set GroupSheet = ThisWorkbook.Worksheets("group")
Set TablFioObj = GroupSheet.ListObjects("tabl_fio")

For Each FioTablRow In TablFioObj.ListRows
    If FioTablRow.Range(1, 2) = FormBD.Cmb_fio.Value Then
        If r Is Nothing Then Set r = FioTablRow.Range Else Set r = Union(r, FioTablRow.Range)
    End If
Next

If Not r Is Nothing Then r.Delete
End Sub
[/vba]

Автор - nilem
Дата добавления - 27.10.2019 в 14:59
Сергей13 Дата: Воскресенье, 27.10.2019, 16:14 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
nilem, Благодарю!
 
Ответить
Сообщениеnilem, Благодарю!

Автор - Сергей13
Дата добавления - 27.10.2019 в 16:14
  • Страница 1 из 1
  • 1
Поиск:

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