Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Помогите удалить строки в таблице.
 
Один макрос выполняет удаление строк (активных) в таблице, а другой удаляет все строки в таблиц (-ах) на листе. Не получается у меня. Вторая задача у меня на половину получилась с циклом, но ошибку выдает, когда все строки удаляются. Подскажите, как решить?
 
Как-то так.
Код
Private Sub CommandButton2_Click()
Dim Rng
Set Rng = Range("Таблица1")
Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).EntireRow.Delete
End Sub


Если Вы под первой строкой имеете в виду заголовок, а не первую строку именно таблицы, то пишите просто
Код
Rng.EntireRow.Delete
 
Обамка, Вы не отписались в последней своей теме, а уже новую создали...
 
Юрий М, я отписался, поблагодарил всех, у меня все нормально по той теме.

МВТ, ваш код не работает. Выдает ошибку. Смотрите, если вы выделите диапазон, любой, например: "B15:C15" и нажмете на кнопку, удалится вся строка таблица этого диапазона, выделите другой, нажмете "удалить", удалится другая. Это первая задача. Вторая задача: при нажатии на (другую) кнопку удаляются все строки таблицы за исключением заголовков и первой строки.

И еще важный момент, наверное. Таблица самоувеличивающаяся, ее диапазон не фиксированный.
Изменено: Обамка - 12 Апр 2015 10:30:46
 
Вы утверждали, что мой код не работает - я показал файл, где всё работает. Но дело Ваше...
 
Метод Delete из класса Range завершен неверно.  
 
У меня ошибка возникает только при попытке применить макрос на таблице в которой всего одна строка, проблема решилась вот таким изменением
Код
Sub DD()
Dim Rng
Set Rng = Range("Таблица1")
With Rng
    If .Rows.Count > 1 Then .Offset(1, 0).Resize(.Rows.Count - 1).EntireRow.Delete
End With
End Sub

В остальном, могу предположить, что либо Вы куда-то не туда вставили код, либо Ваша таблица называется как-то по-другому. Примерно, как в Вашей дискуссии с Юрий М
Страницы: 1
Читают тему (гостей: 1)