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

Вход

Регистрация

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

 

= Мир MS Excel/Показать только лист, выбранный в оглавлении - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Показать только лист, выбранный в оглавлении
Alex_ST Дата: Вторник, 07.06.2011, 15:36 | Сообщение № 1
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Тут я взялся дополировывать макрос для создания в активной книге листа "<<ОГЛАВЛЕНИЕ>>" с гиперссылками на все её листы.
При выборе гиперссылки на лист из оглавления выбранный лист и "<<ОГЛАВЛЕНИЕ>>" остаются видимыми, а все другие листы скрываются.
При активизации листа "<<ОГЛАВЛЕНИЕ>>" все остальные листы книги скрываются.
На листе "<<ОГЛАВЛЕНИЕ>>" добавлен пункт-гиперссылка "Все листы", позволяющий при его активизации сделать видимыми все листы книги.

При необходимости название создаваемого листа "<<ОГЛАВЛЕНИЕ>>" и адрес ячейки начала оглавления на нём вводятся в первых строках кода процедуры СОЗДАТЬ_ОГЛАВЛЕНИЕ

Код может функционировать самостоятельно как надстройка - создавать листы "<<ОГЛАВЛЕНИЕ>>" в любой активной книге.

Вроде, всё работает как надо.
Только почему-то приходится два раза запускать макрос СОЗДАТЬ_ОГЛАВЛЕНИЕ для создания оглавления в новой книге:
- за первый запуск создаётся лист "<<ОГЛАВЛЕНИЕ>>" и код обработки событий
- за второй - прописываются гиперссылки.

НИЧЕГО НЕ ПОНИМАЮ! Пол-дня бьюсь...
К сообщению приложен файл: ____2.xls (53.0 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеТут я взялся дополировывать макрос для создания в активной книге листа "<<ОГЛАВЛЕНИЕ>>" с гиперссылками на все её листы.
При выборе гиперссылки на лист из оглавления выбранный лист и "<<ОГЛАВЛЕНИЕ>>" остаются видимыми, а все другие листы скрываются.
При активизации листа "<<ОГЛАВЛЕНИЕ>>" все остальные листы книги скрываются.
На листе "<<ОГЛАВЛЕНИЕ>>" добавлен пункт-гиперссылка "Все листы", позволяющий при его активизации сделать видимыми все листы книги.

При необходимости название создаваемого листа "<<ОГЛАВЛЕНИЕ>>" и адрес ячейки начала оглавления на нём вводятся в первых строках кода процедуры СОЗДАТЬ_ОГЛАВЛЕНИЕ

Код может функционировать самостоятельно как надстройка - создавать листы "<<ОГЛАВЛЕНИЕ>>" в любой активной книге.

Вроде, всё работает как надо.
Только почему-то приходится два раза запускать макрос СОЗДАТЬ_ОГЛАВЛЕНИЕ для создания оглавления в новой книге:
- за первый запуск создаётся лист "<<ОГЛАВЛЕНИЕ>>" и код обработки событий
- за второй - прописываются гиперссылки.

НИЧЕГО НЕ ПОНИМАЮ! Пол-дня бьюсь...

Автор - Alex_ST
Дата добавления - 07.06.2011 в 15:36
Alex_ST Дата: Вторник, 07.06.2011, 17:10 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Дмитрий (The_Prist) подсказал в чём дело - рановато использовал
[vba]
Код
With ActiveWorkbook.Worksheets(shContent)
[/vba], а когда листа не было в книге, то и ячейки не было куда писАть...
Переделал код. Не могу проверить - комп заглючил - постоянно Ёксель падает.
Перегружался - не помогло...
Может кто-нибудь проверить, создаётся ли лист <<ОГЛАВЛЕНИЕ>> и работают ли на нём гиперссылки?
К сообщению приложен файл: ____v2.2.xls (52.0 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеДмитрий (The_Prist) подсказал в чём дело - рановато использовал
[vba]
Код
With ActiveWorkbook.Worksheets(shContent)
[/vba], а когда листа не было в книге, то и ячейки не было куда писАть...
Переделал код. Не могу проверить - комп заглючил - постоянно Ёксель падает.
Перегружался - не помогло...
Может кто-нибудь проверить, создаётся ли лист <<ОГЛАВЛЕНИЕ>> и работают ли на нём гиперссылки?

Автор - Alex_ST
Дата добавления - 07.06.2011 в 17:10
Serge_007 Дата: Вторник, 07.06.2011, 17:12 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Alex_ST)
Может кто-нибудь проверить, создаётся ли лист <<ОГЛАВЛЕНИЕ>> и работают ли на нём гиперссылки?

Лист создаётся, гиперссылки не работают.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Alex_ST)
Может кто-нибудь проверить, создаётся ли лист <<ОГЛАВЛЕНИЕ>> и работают ли на нём гиперссылки?

Лист создаётся, гиперссылки не работают.

Автор - Serge_007
Дата добавления - 07.06.2011 в 17:12
Alex_ST Дата: Вторник, 07.06.2011, 20:43 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Серёга, а код на листе оглавления не создаётся?



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеСерёга, а код на листе оглавления не создаётся?

Автор - Alex_ST
Дата добавления - 07.06.2011 в 20:43
Serge_007 Дата: Вторник, 07.06.2011, 20:46 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Alex_ST)
код на листе оглавления не создаётся?

Нет. На листе 4 гиперссылки и всё. Скрин выложить?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Alex_ST)
код на листе оглавления не создаётся?

Нет. На листе 4 гиперссылки и всё. Скрин выложить?

Автор - Serge_007
Дата добавления - 07.06.2011 в 20:46
Alex_ST Дата: Вторник, 07.06.2011, 20:47 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Да вот в том-то и трабл, что код создаётся не всегда и не на всех компьютерах...
Пытаюсь разобраться.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 07.06.2011, 21:40
 
Ответить
СообщениеДа вот в том-то и трабл, что код создаётся не всегда и не на всех компьютерах...
Пытаюсь разобраться.

Автор - Alex_ST
Дата добавления - 07.06.2011 в 20:47
Serge_007 Дата: Вторник, 07.06.2011, 20:53 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Я на работе пробовал и дома. Результат одинаков.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЯ на работе пробовал и дома. Результат одинаков.

Автор - Serge_007
Дата добавления - 07.06.2011 в 20:53
RAN Дата: Вторник, 07.06.2011, 21:23 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
У меня все нормально работает! cool


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеУ меня все нормально работает! cool

Автор - RAN
Дата добавления - 07.06.2011 в 21:23
Alex_ST Дата: Вторник, 07.06.2011, 21:40 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
RAN,
лист создаётся с кодами обработки после первого же после открытия файла запуске макроса?
Попробуйте в прилагаемом примере (там подработана обработка ошибок по указанию The_Prist) вызвать макрос создаения оглавления.
У большинства тестирующих лист с гиперссылками создаётся, но коды обработки событий на него почему-то не прописываются. А если макрос запустить ещё раз, то коды прописыватся и всё начинает работать как надо.
Самое интересное, что если лист с оглавлением удалить, книгу сохранить, но не закрывать, а потом вызвать макрос, то лист создастся вместе с кодами с первого запуска макроса...
Бред какой-то. Такое впечатление, что состав коллекции Worksheets сразу после Add не обновляется, а при повторном запуске лист уже есть и на него записывается код...
К сообщению приложен файл: _-2.xls (55.0 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеRAN,
лист создаётся с кодами обработки после первого же после открытия файла запуске макроса?
Попробуйте в прилагаемом примере (там подработана обработка ошибок по указанию The_Prist) вызвать макрос создаения оглавления.
У большинства тестирующих лист с гиперссылками создаётся, но коды обработки событий на него почему-то не прописываются. А если макрос запустить ещё раз, то коды прописыватся и всё начинает работать как надо.
Самое интересное, что если лист с оглавлением удалить, книгу сохранить, но не закрывать, а потом вызвать макрос, то лист создастся вместе с кодами с первого запуска макроса...
Бред какой-то. Такое впечатление, что состав коллекции Worksheets сразу после Add не обновляется, а при повторном запуске лист уже есть и на него записывается код...

Автор - Alex_ST
Дата добавления - 07.06.2011 в 21:40
RAN Дата: Вторник, 07.06.2011, 22:24 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Код листа "Оглавление"

[vba]
Код
Private Sub Worksheet_Activate()
Dim iSht As Worksheet
On Error Resume Next
For Each iSht In ThisWorkbook.Worksheets ' скрываем все листы кроме ActiveSheet
iSht.Visible = iSht.Name = ActiveSheet.Name
Next
End Sub

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim sHypAddr$, sParent$, iSht As Worksheet
On Error Resume Next
Application.ScreenUpdating = False: Application.EnableEvents = False
sHypAddr = Target.SubAddress
sParent = Replace$(Mid$(sHypAddr, 1, InStr(sHypAddr, "!") - 1), "'", "")
For Each iSht In ThisWorkbook.Worksheets
iSht.Visible = IIf(Target.TextToDisplay = "Все листы", True, (iSht.Name = sParent) Or (iSht.Name = Target.Range.Parent.Name))
Next
Target.Follow
Application.EnableEvents = True: Application.ScreenUpdating = True
End Sub
[/vba]

Это должно было получиться?


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Вторник, 07.06.2011, 22:24
 
Ответить
СообщениеКод листа "Оглавление"

[vba]
Код
Private Sub Worksheet_Activate()
Dim iSht As Worksheet
On Error Resume Next
For Each iSht In ThisWorkbook.Worksheets ' скрываем все листы кроме ActiveSheet
iSht.Visible = iSht.Name = ActiveSheet.Name
Next
End Sub

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim sHypAddr$, sParent$, iSht As Worksheet
On Error Resume Next
Application.ScreenUpdating = False: Application.EnableEvents = False
sHypAddr = Target.SubAddress
sParent = Replace$(Mid$(sHypAddr, 1, InStr(sHypAddr, "!") - 1), "'", "")
For Each iSht In ThisWorkbook.Worksheets
iSht.Visible = IIf(Target.TextToDisplay = "Все листы", True, (iSht.Name = sParent) Or (iSht.Name = Target.Range.Parent.Name))
Next
Target.Follow
Application.EnableEvents = True: Application.ScreenUpdating = True
End Sub
[/vba]

Это должно было получиться?

Автор - RAN
Дата добавления - 07.06.2011 в 22:24
Alex_ST Дата: Вторник, 07.06.2011, 22:27 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Цитата (RAN)
Это должно было получиться?

Оно самое.
Добавил [vba]
Код
Application.EnableEvents = False … Application.EnableEvents = True
[/vba]
Вроде с первого раза стало и лист с гиперссылками добавлять, и код обработки на него писать.
К сообщению приложен файл: _-3.xls (49.0 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Цитата (RAN)
Это должно было получиться?

Оно самое.
Добавил [vba]
Код
Application.EnableEvents = False … Application.EnableEvents = True
[/vba]
Вроде с первого раза стало и лист с гиперссылками добавлять, и код обработки на него писать.

Автор - Alex_ST
Дата добавления - 07.06.2011 в 22:27
RAN Дата: Вторник, 07.06.2011, 22:33 | Сообщение № 12
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
И этот работает. biggrin


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеИ этот работает. biggrin

Автор - RAN
Дата добавления - 07.06.2011 в 22:33
Alex_ST Дата: Вторник, 07.06.2011, 22:37 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Придётся, я так подозреваю, Ёкселю лоботомию делать...
У меня срабатывает не при каждом запуске файла.
Попробую этот модуль в Персонал засунуть и оттуда кнопочкой вызывать.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеПридётся, я так подозреваю, Ёкселю лоботомию делать...
У меня срабатывает не при каждом запуске файла.
Попробую этот модуль в Персонал засунуть и оттуда кнопочкой вызывать.

Автор - Alex_ST
Дата добавления - 07.06.2011 в 22:37
Alex_ST Дата: Среда, 08.06.2011, 21:21 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Снёс и переустановил на работе MSOffice-2003SP3 с другого дистрибутива - не помогло. Ёксель при попытке записи кода на создаваемый лист умирает и просит послать "прощальное письмо" его "родителям" biggrin
Тупо внёс задержку в 1 секунду между созданием нового листа и записью на него кода.
Дома всё теперь работает. Завтра попробую на работе. А если заработает, то перенесу модуль в Персонал (в надстройках я плаваю, к сожалению).
К сообщению приложен файл: _-4.xls (48.0 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеСнёс и переустановил на работе MSOffice-2003SP3 с другого дистрибутива - не помогло. Ёксель при попытке записи кода на создаваемый лист умирает и просит послать "прощальное письмо" его "родителям" biggrin
Тупо внёс задержку в 1 секунду между созданием нового листа и записью на него кода.
Дома всё теперь работает. Завтра попробую на работе. А если заработает, то перенесу модуль в Персонал (в надстройках я плаваю, к сожалению).

Автор - Alex_ST
Дата добавления - 08.06.2011 в 21:21
nilem Дата: Среда, 08.06.2011, 23:27 | Сообщение № 15
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Алекс, попробуйте блок If записать обычным способом:
[vba]
Код
If iSht Is Nothing Then
       ActiveWorkbook.Worksheets.Add
       ActiveSheet.Name = shContent
       Call Create_shContent(shContent)
End If
[/vba]
Сам натыкался - в однострочном If последние операторы, бывает, не срабатывают. Т.е. до Call Create_shContent(shContent) просто не доходит.
Ну, вдруг... Хотя у меня работает и так, и так.


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilem - Среда, 08.06.2011, 23:27
 
Ответить
СообщениеАлекс, попробуйте блок If записать обычным способом:
[vba]
Код
If iSht Is Nothing Then
       ActiveWorkbook.Worksheets.Add
       ActiveSheet.Name = shContent
       Call Create_shContent(shContent)
End If
[/vba]
Сам натыкался - в однострочном If последние операторы, бывает, не срабатывают. Т.е. до Call Create_shContent(shContent) просто не доходит.
Ну, вдруг... Хотя у меня работает и так, и так.

Автор - nilem
Дата добавления - 08.06.2011 в 23:27
Alex_ST Дата: Четверг, 09.06.2011, 13:06 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
На работе Ёксель при запуске макроса всё равно гибнет...
При этом именно при выполнении oSh.CodeModule.InsertLines
Пытался сделать тупо: сначала удалить весь код с листа:   [vba]
Код
Set oSh = ActiveWorkbook.VBProject.VBComponents(sCodeName)
     Debug.Print "CountOfLines = " & oSh.CodeModule.CountOfLines
     lCountOfLines = oSh.CodeModule.CountOfLines
     oSh.CodeModule.DeleteLines 1, lCountOfLines
     Debug.Print "CountOfLines = " & oSh.CodeModule.CountOfLines
[/vba] Это сработало. А когда на следующей строке (проходил в построчном режиме) встретилось   [vba]
Код
oSh.CodeModule.InsertLines 1, sCode
[/vba] тут он и помер >:(

Порылся в и-нете. Оказывается, CodeModule.InsertLines у многих глючит - не всегда прописывает код.
На одном буржуйском форуме предлагают вставить перед этим в код после создания страницы DoEvents. Попробовал. Не помогло.
Вспомнил, что надо ещё подключить ссылку на Microsoft Visual Basic for Applications Extensibility 5.3. Подключил (после переустановки Офиса старая ссылка слетела). Не помогло.

Пошёл ещё дальше - начал определять переменные прямо "от печки" (подсмотрел на Programming The VBA Editor ): [vba]
Код
Dim VBProj As VBIDE.VBProject
     Dim VBComp As VBIDE.VBComponent
     Dim CodeMod As VBIDE.CodeModule
     Dim sCodeName$, lFirstProcLine&
     sCodeName = ActiveSheet.CodeName
     Set VBProj = Application.ActiveWorkbook.VBProject
     Set VBComp = VBProj.VBComponents(sCodeName)
     Set CodeMod = VBComp.CodeModule
     lFirstProcLine = CodeMod.CountOfDeclarationLines + 1
     CodeMod.InsertLines lFirstProcLine, sCode
[/vba]
Всё равно вылетает, зараза, на строке с InsertLines
Решил, что накопились глюки в VBE (бывает и такое).
Скопировал код в "Блокнот". Закрыл Ёксель. Открыл. Создал новую книгу. В ней - модуль. В него - текст кода из "Блокнота".
ВЫЛЕТАЕТ!
Вот совсем новый файл.
К сообщению приложен файл: Create_Wbk_Cont.xls (50.0 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеНа работе Ёксель при запуске макроса всё равно гибнет...
При этом именно при выполнении oSh.CodeModule.InsertLines
Пытался сделать тупо: сначала удалить весь код с листа:   [vba]
Код
Set oSh = ActiveWorkbook.VBProject.VBComponents(sCodeName)
     Debug.Print "CountOfLines = " & oSh.CodeModule.CountOfLines
     lCountOfLines = oSh.CodeModule.CountOfLines
     oSh.CodeModule.DeleteLines 1, lCountOfLines
     Debug.Print "CountOfLines = " & oSh.CodeModule.CountOfLines
[/vba] Это сработало. А когда на следующей строке (проходил в построчном режиме) встретилось   [vba]
Код
oSh.CodeModule.InsertLines 1, sCode
[/vba] тут он и помер >:(

Порылся в и-нете. Оказывается, CodeModule.InsertLines у многих глючит - не всегда прописывает код.
На одном буржуйском форуме предлагают вставить перед этим в код после создания страницы DoEvents. Попробовал. Не помогло.
Вспомнил, что надо ещё подключить ссылку на Microsoft Visual Basic for Applications Extensibility 5.3. Подключил (после переустановки Офиса старая ссылка слетела). Не помогло.

Пошёл ещё дальше - начал определять переменные прямо "от печки" (подсмотрел на Programming The VBA Editor ): [vba]
Код
Dim VBProj As VBIDE.VBProject
     Dim VBComp As VBIDE.VBComponent
     Dim CodeMod As VBIDE.CodeModule
     Dim sCodeName$, lFirstProcLine&
     sCodeName = ActiveSheet.CodeName
     Set VBProj = Application.ActiveWorkbook.VBProject
     Set VBComp = VBProj.VBComponents(sCodeName)
     Set CodeMod = VBComp.CodeModule
     lFirstProcLine = CodeMod.CountOfDeclarationLines + 1
     CodeMod.InsertLines lFirstProcLine, sCode
[/vba]
Всё равно вылетает, зараза, на строке с InsertLines
Решил, что накопились глюки в VBE (бывает и такое).
Скопировал код в "Блокнот". Закрыл Ёксель. Открыл. Создал новую книгу. В ней - модуль. В него - текст кода из "Блокнота".
ВЫЛЕТАЕТ!
Вот совсем новый файл.

Автор - Alex_ST
Дата добавления - 09.06.2011 в 13:06
Alex_ST Дата: Четверг, 09.06.2011, 15:41 | Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
От безысходности попытался с нуля постепенно, проверяя каждый шаг, создать файл.
Выяснил, что "собака-то порылась" вовсе не в InsertLines , а в попытке обращения к созданному листу уже после прописывания на него кода обработки событий.
Посмотрите, пожалуйста.
В приложенном примере после нажатия на кнопочку СОЗДАТЬ_ОГЛАВЛЕНИЕ лист оглавления и код на нём создаются. А следующие шаги - перемещение этого листа на первое место и операции с его ячейками (стирание диапазона, прописка в ячейки гиперссылок) заремарены.
Если ремарку с чего-нибудь внутри блока With oWbk.Sheets(shName) … End With снять (ну, хотя бы с .Move Before:=oWbk.Sheets(1) ) , то при выполнении макроса Ёксель вылетит.
К сообщению приложен файл: 7578477.xls (35.0 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеОт безысходности попытался с нуля постепенно, проверяя каждый шаг, создать файл.
Выяснил, что "собака-то порылась" вовсе не в InsertLines , а в попытке обращения к созданному листу уже после прописывания на него кода обработки событий.
Посмотрите, пожалуйста.
В приложенном примере после нажатия на кнопочку СОЗДАТЬ_ОГЛАВЛЕНИЕ лист оглавления и код на нём создаются. А следующие шаги - перемещение этого листа на первое место и операции с его ячейками (стирание диапазона, прописка в ячейки гиперссылок) заремарены.
Если ремарку с чего-нибудь внутри блока With oWbk.Sheets(shName) … End With снять (ну, хотя бы с .Move Before:=oWbk.Sheets(1) ) , то при выполнении макроса Ёксель вылетит.

Автор - Alex_ST
Дата добавления - 09.06.2011 в 15:41
nilem Дата: Четверг, 09.06.2011, 17:01 | Сообщение № 18
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Снял все Ремы, нажал СОЗДАТЬ_ОГЛАВЛЕНИЕ - появился лист Оглавление с рабочими гиперссылками (Е2010).


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеСнял все Ремы, нажал СОЗДАТЬ_ОГЛАВЛЕНИЕ - появился лист Оглавление с рабочими гиперссылками (Е2010).

Автор - nilem
Дата добавления - 09.06.2011 в 17:01
Alex_ST Дата: Пятница, 10.06.2011, 15:58 | Сообщение № 19
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Так и не победил "умирания" Ёкселя на работе, но сделал так, что у меня тоже функционирует, но только после второго прохода макроса.
Самое обидное, что у всех вокруг мой макрос работает нормально, а у меня нет...

Ссылки на сильно скрытые листы теперь не создаются (сделано специально, но не трудно и убрать). Вместо таких листов - пропуск в оглавлении
В данном примере сильно спрятан Лист3

Если у кого-то Excel всё-таки будет "умирать" при запуске макроса (это иногда бывает на некоторых релизах Офиса), то надо снять ремарку с указанной строки кода. Тогда полностью функционирующее оглавление будет создаваться за два прохода макроса.
К сообщению приложен файл: _-5.xls (57.5 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеТак и не победил "умирания" Ёкселя на работе, но сделал так, что у меня тоже функционирует, но только после второго прохода макроса.
Самое обидное, что у всех вокруг мой макрос работает нормально, а у меня нет...

Ссылки на сильно скрытые листы теперь не создаются (сделано специально, но не трудно и убрать). Вместо таких листов - пропуск в оглавлении
В данном примере сильно спрятан Лист3

Если у кого-то Excel всё-таки будет "умирать" при запуске макроса (это иногда бывает на некоторых релизах Офиса), то надо снять ремарку с указанной строки кода. Тогда полностью функционирующее оглавление будет создаваться за два прохода макроса.

Автор - Alex_ST
Дата добавления - 10.06.2011 в 15:58
RAN Дата: Пятница, 10.06.2011, 16:42 | Сообщение № 20
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Гы-Гы
А вот этот файл уже не работает!
Перестарался! biggrin
Т.е. лист с гиперссылками и кодом создается, лист1 прячется, и прЮвет! - переход по гиперссылкам не работает.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеГы-Гы
А вот этот файл уже не работает!
Перестарался! biggrin
Т.е. лист с гиперссылками и кодом создается, лист1 прячется, и прЮвет! - переход по гиперссылкам не работает.

Автор - RAN
Дата добавления - 10.06.2011 в 16:42
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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