Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.07.2010, 22:36   #1
DOC_GREEN
Новичок
Джуниор
 
Регистрация: 11.07.2010
Сообщений: 1
По умолчанию кнопка-меню для перехода на листы

есть книга в ней 20 листов, в книге содержатся разная информация разного характера, уже надоедает искать вкладку, толе в начале толе в конце
(проблема в том что у меня строки, столбцы все разные, с помощью гипер сылок получается бардак с колонками и строками
объясните как это делается, я не нашел решения нигде

Нужно что бы была кнопка при нажатии (желательно 2 раза) на нее появлялась меню с именами листов, нажимая на них переходил на нужный лист
DOC_GREEN вне форума Ответить с цитированием
Старый 11.07.2010, 23:16   #2
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

вот на скорую руку
Вложения
Тип файла: rar список_листов.rar (19.0 Кб, 84 просмотров)
аналитика вне форума Ответить с цитированием
Старый 11.07.2010, 23:23   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Еще вариант на скорую.Можно сделать конечно красиво.если подойдет
Жмем правую кнопку мышки.выбираем пункт Листы.Двойной клик по имени листа
Вложения
Тип файла: rar Листы.rar (12.5 Кб, 75 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 12.07.2010, 07:48   #4
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

На всякий случай
http://www.planetaexcel.ru/tip.php?aid=29
nilem вне форума Ответить с цитированием
Старый 28.03.2011, 16:29   #5
Tatiana00701
Новичок
Джуниор
 
Регистрация: 28.03.2011
Сообщений: 1
По умолчанию

Цитата:
Сообщение от аналитика Посмотреть сообщение
вот на скорую руку
Как это сделать???
Tatiana00701 вне форума Ответить с цитированием
Старый 28.03.2011, 19:05   #6
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Как это сделать???
Скопировать модули кода и формы в свой проект
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 25.09.2014, 14:48   #7
Gven612
Новичок
Джуниор
 
Регистрация: 25.09.2014
Сообщений: 1
Восклицание

Цитата:
Сообщение от аналитика Посмотреть сообщение
вот на скорую руку
Пыталась сделать по подобию, но в VB совершенно не разбираюсь. Скорее всего что-то делаю не так.
Вложения
Тип файла: zip Публикации шаблон1.zip (27.0 Кб, 126 просмотров)
Gven612 вне форума Ответить с цитированием
Старый 25.09.2014, 22:16   #8
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

В модуль "ЭтаКнига" вставь код. Появится меню (в 2003). В версиях выше во вкладке "Надстройки" меню "Листы)

Код:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim L
Dim S As Object
Dim FI
Dim ТекстПроцедуры
Dim xlmodule As Workbook 'Object
Set xlmodule = ActiveWorkbook

'удаляем все макросы из Лист1  (других макросов сюда не ложить)
On Error Resume Next
For L = xlmodule.VBProject.VBComponents(1).CodeModule.CountOfLines To 1 Step -1
FI = Left(xlmodule.VBProject.VBComponents(1).CodeModule.Lines(L, 1), 17)
 Debug.Print xlmodule.VBProject.VBComponents(1).CodeModule.Lines(L, 1)
If FI = "Public Sub Налист" Then
 xlmodule.VBProject.VBComponents(1).CodeModule.DeleteLines L, 3
 End If
Next L
Application.CommandBars("Worksheet Menu Bar").Controls("Листы").Delete
Set S = Application.CommandBars("Worksheet Menu Bar")
With Application.CommandBars("Worksheet Menu Bar")
'Создание строки меню Файл
        With .Controls.Add(Type:=msoControlPopup)
                .Caption = "&Листы"
                With .Controls
                        For L = 1 To Sheets.Count
ТекстПроцедуры = "Public Sub Налист" & L & "()" & vbCrLf & "Sheets(" & """" & Sheets(L).Name & """" & ").Select" & vbCrLf & "End sub"
  xlmodule.VBProject.VBComponents(1).CodeModule.AddFromString ТекстПроцедуры
                         With .Add(Type:=msoControlButton)
                        .Caption = Sheets(L).Name
                        .OnAction = "ЭтаКнига.Налист" & L
                     End With
                Next L
                End With
        End With
End With
End Sub
Вложения
Тип файла: rar Меню_с_переходом_по_листам.rar (14.0 Кб, 27 просмотров)
Тип файла: rar Копия Публикации шаблон2.rar (31.1 Кб, 18 просмотров)
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru

Последний раз редактировалось alex77755; 25.09.2014 в 23:05. Причина: Добавил исправленный вариант автора
alex77755 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скриншот опреденённой части приложения(Меню, или кнопка.. и т.д)? Человек_Борща Общие вопросы Delphi 11 02.05.2010 16:36
Как узнать принадлежит ли кнопка Системному меню программы? FaTaL Общие вопросы Delphi 11 24.10.2009 16:46
Для доступа к пунктам главного меню клавиши ALT + подчеркнутая буква меню в офис 2007? Окоча Юра Microsoft Office Word 1 24.02.2009 12:29
Меню и нажатая кнопка! Dianis JavaScript, Ajax 1 04.07.2008 18:28
как сделать вверрху меню с ссылками, после перехода по которым подгружались бы сайты. Chaos-Delta HTML и CSS 30 12.01.2008 11:21