Подскажите, как в рамках VBA определить существуют ли на Листе сгруппированные строки или нет??? (т.е. прменялся ли на Листе метод Group для каких-либо строк ???).
Группировка строк
29.10.2008 23:12:48
|
|
|
|
31.10.2008 05:01:13
неужели никто не сталкивался с такой необходимостью
|
|
|
|
31.10.2008 08:52:24
Вот 2 макроса. 1-й проверяет, есть ли группировка строк, а 2-й проверяет, есть ли группировка столбцов на активном листе
Sub CheckRowsForGroup() Dim iRow As Range For Each iRow In ActiveSheet.UsedRange.Rows If iRow.OutlineLevel > 1 Then MsgBox "На активном листе есть группировка строк!", 64, "Группировка строк" Exit Sub End If Next MsgBox "На активном листе нет группировки строк!", 64, "Группировка строк" End Sub Sub CheckColumnsForGroup() Dim iCol As Range For Each iCol In ActiveSheet.UsedRange.Columns If iCol.OutlineLevel > 1 Then MsgBox "На активном листе есть группировка столбцов!", 64, "Группировка столбцов" Exit Sub End If Next MsgBox "На активном листе нет группировки столбцов!", 64, "Группировка столбцов" End Sub P.S. Основано на основе макросов из этой темы с соседнего форума |
|
|
|
31.10.2008 14:04:11
всегда есть хотя бы одна выделенная ячейка
|
|
|
|
31.10.2008 21:58:24
{quote}{login=Артем}{date=31.10.2008 02:04}{thema=}{post}всегда есть хотя бы одна выделенная ячейка{/post}{/quote}
Тогда уточняю.... одна или более одной выделенной ячейки |
|
|
|
02.11.2008 20:25:27
Евгений, думаю, что если бы сразу повели разговор о проверке наличия на листе формул, ответ давно бы получили. Вот посмотрите обсуждение:
Может что полезное для Вас найдётся. |
|
|
|
02.11.2008 22:57:59
Юрий, а вы пробовали запустить свой макрос в Excel?
|
|
|
|
02.11.2008 23:03:26
Конечно! Вот он. А что-то не так?
|
|
|
|
02.11.2008 23:50:55
Павел, ну сколько можно томить неизвестностью? Я уже (кроме синтаксиса) проверил: орфографию, стилистику, рифму... Чта Вас смутило?
|
|
|
|
03.11.2008 00:03:19
Кажется понял что - отсутствие строчки
On Error Resume Next? |
|
|
|
03.11.2008 03:49:53
Угу, если на листе не будет ни одной формулы, то выскочит ошибка 1004.
|
|
|
|
03.11.2008 23:18:18
Вы правильно поняли мою проблему (именно выскакивание ошибки 1004)
|
|
|
|
03.11.2008 23:37:27
Как требуют старшие товарищи, и правила хорошего поведения в Excel добавил проклятую строчку. Теперь при отсутствии формул на листе орать не будет, зараза...
|
|
|
|
04.11.2008 01:09:55
угу) Пока писал, вы уже ответили )
|
|
|
|
04.11.2008 01:30:47
Павел, это тот случай, когда лучше мы с Вами вдвоем напишен, чем понадеемся друг на друга на ночь глядя и заснем :-)
На всякий случай - вот еще и ссылка: Там однозначно написано, что при попытке выделить вручную будет выведено сообщение об ошибке, а если с помощью VBA - то ничто и не вякнет об ошибке. Зачем такая запядня - не знаю, скорее всего это атавизм. Некоторые успокаивают, что этот лимит случается редко, другие рекомендуют сначала проверять .Areas.Count <= 8192. Но если лимит превышен, то потребуется писать код для иного метода, например, дробить диапазон пополам, пока превышен лимит, а затем разбираться с каждым таким фрагментом. |
|
|
|
Читают тему