Страница: 1 |
Страница: 1 |
Вопрос: Удаление скрытых столбцов и строк Excel
Добавлено: 17.08.06 09:28
Автор вопроса: Verd | ICQ: 276115817
Добрый день!
Появилась проблема с удалением скрытых строк и столбцов всего листа.Как это можно сделать средствами VBA ? Помогите,пожалуйста
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #1
Добавлено: 17.08.06 18:52
А что значит "скрытых"? Это тех, у которых ширина и высота =< 0 что ли?
Номер ответа: 2
Автор ответа:
Дмит
Вопросов: 11
Ответов: 160
Web-сайт:
Профиль | | #2
Добавлено: 17.08.06 22:14
If Rows(i).Hidden Then Rows(i).Delete
Номер ответа: 3
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #3
Добавлено: 18.08.06 00:22
____ Я вот только думаю, что не так скоро (Then Rows(i).Delete).
____ Помнится мне, что после удаления строки (или столбца) вся коллекция строк (столбцов)переиндексируется. Это надо учитывать.
Номер ответа: 4
Автор ответа:
Дмит
Вопросов: 11
Ответов: 160
Web-сайт:
Профиль | | #4
Добавлено: 18.08.06 09:32
Если удалять в цикле step -1, то индексация не важна.
If Rows(i).Hidden Then Rows(i).Delete
Next
Можно и удалить всё сразу (и это быстрее)
For i = 1 To 100
If Rows(i).Hidden Then
Rows(i).Hidden = False
If rg Is Nothing Then
Set rg = Rows(i)
Else:
Set rg = Union(rg, Rows(i))
End If
End If
Next
rg.Delete
Номер ответа: 5
Автор ответа:
Verd
ICQ: 276115817
Вопросов: 3
Ответов: 11
Профиль | | #5
Добавлено: 18.08.06 10:12
Всем огромное спасибо. Все работает
Номер ответа: 6
Автор ответа:
Verd
ICQ: 276115817
Вопросов: 3
Ответов: 11
Профиль | | #6
Добавлено: 29.08.06 11:32
Воспользовался вариантом :
For i = 100 To 1 Step -1
If Rows(i).Hidden Then Rows(i).Delete
Next