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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2010, 17:46   #1
gsg
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 108
По умолчанию запись в модуль листа

в очередной раз не помог "поиск"

все-таки как програмно записать код в модуль листа?
-Возьмите лучших их лучщих!
-Лучшие из лучших зализывают раны...
-Тогда, возьмите лучших из худших!
gsg вне форума Ответить с цитированием
Старый 01.11.2010, 17:59   #2
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Вот процедура создающаяя меню перехода по листам. В том числе и создающая процедуры для каждого пункта меню:
Код:
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
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 02.11.2010, 09:05   #3
gsg
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 108
По умолчанию

спасибо. то, что нужно
-Возьмите лучших их лучщих!
-Лучшие из лучших зализывают раны...
-Тогда, возьмите лучших из худших!
gsg вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Модуль Хорнет Паскаль, Turbo Pascal, PascalABC.NET 0 09.06.2010 09:54
Типизированные файлы, модуль Crt, Модуль Graph Kate_Fleur Помощь студентам 1 06.05.2010 17:43
Создание листа с одновременным созданием формулы на ячейку нового листа ShamanK Microsoft Office Excel 4 02.05.2010 22:00
Настроить запись макроса в модуль текущего документа CaptainNemo Microsoft Office Word 5 07.06.2009 20:42
модуль romich.91 Паскаль, Turbo Pascal, PascalABC.NET 0 26.05.2009 20:27