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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2010, 21:56   #1
lavrentiyy
Пользователь
 
Регистрация: 28.09.2010
Сообщений: 14
По умолчанию Автоматическое создание макроса

Приветствую, коллеги!
Столкнулся с проблемой -
Я автоматически при щелчке на ячейку создаю(!) .xls файл.
Возможно ли в этот файл запихнуть макрос, т.е. чтоб файл создавался УЖЕ с макросом?
Вот такая у меня беда.
Если такое возможно, выложу xls-файл.
lavrentiyy вне форума Ответить с цитированием
Старый 06.10.2010, 22:19   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Проблем нет.Выполните код.Для другой книги замените ThisWorkbook на нужную книгу
Код:
Sub SAM()
Set tt = ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule)
 tt.CodeModule.InsertLines 1, " Sub MY_MACRO() " & vbCrLf & "  msgbox 123" & vbCrLf & "End Sub"

End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 07.10.2010, 02:23   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Пример во вложении.Удобно текст макроса сохранить в текстовие.Для примера взял с форума случайным выбором
Вложения
Тип файла: rar Макрос.rar (145.8 Кб, 29 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 07.10.2010, 07:09   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Возможно ли в этот файл запихнуть макрос, т.е. чтоб файл создавался УЖЕ с макросом?
Как вам уже сказали, это возможно, но нежелательно.

Я так понял, что вы намереваетесь создать МНОГО таких файлов, и в каждом будет один и тот же макрос.
Через неделю-другую поймёте, что в макросе надо поменять пару строк - и что будете делать?
Писать ещё один макрос на замену тех макросов?

Поместите свои макросы в надстройку - и проблем не будет.

Сложно посоветовать что-то более конкретное, не зная, что за макрос вы используете, и для чего.

Цитата:
Сообщение от doober Посмотреть сообщение
Удобно текст макроса сохранить в текстовие
Ещё удобнее текст макроса хранить в модуле листа.
Копируем лист в новую книгу - и код копируется автоматически.
В этом случае совсем необязательно, чтобы в настройках Excel был разрешён доступ к VB Project
EducatedFool вне форума Ответить с цитированием
Старый 11.10.2010, 11:22   #5
lavrentiyy
Пользователь
 
Регистрация: 28.09.2010
Сообщений: 14
По умолчанию

Итак, господа программисты, вновь прошу Вашей квалифицированной помощи. В общем, проблема:
Создаю по методике doober"а модуль, в нем че-то там записываю, это не сильно важно.
Беда в том, что не выполняется функция, записанная в этом модуле, какие бы события я не пробовал обрабатывать.
Мож надо че-то в настройках экселя поменять?
lavrentiyy вне форума Ответить с цитированием
Старый 11.10.2010, 11:28   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Мож надо че-то в настройках экселя поменять?
Мож результаты своих творений выложите в виде файла?
EducatedFool вне форума Ответить с цитированием
Старый 11.10.2010, 14:13   #7
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Не знаю.у меня макрос выполняется в сохраненной книге.
Можете проверить.Создается книга Пример
Вложения
Тип файла: rar Макрос.rar (144.9 Кб, 18 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 12.10.2010, 10:19   #8
lavrentiyy
Пользователь
 
Регистрация: 28.09.2010
Сообщений: 14
По умолчанию


Не понятно
Короче, при щелчке на любом товаре в прайс-листе, создается файл, в который я и помещаю модуль.
Вложения
Тип файла: rar Копия (3) files.rar (18.0 Кб, 17 просмотров)
lavrentiyy вне форума Ответить с цитированием
Старый 12.10.2010, 10:40   #9
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Конкретно по теме-макрос записи работает нормально.
Но то что он пишет работать не будет.
Вы попробуйте выполнить сам код в книге,которую создали.
Этот Код в событие листа ставить не надо.
Ме не используйте.если не знаете как использовать.
Посмотрите диапазон формул.В формулу не вникал.
Замените так
Код:
Sub Wo_Calculate()
    'сколько на мотке
    'номер строки
    i = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
    j = Sheets(1).Cells(Rows.Count, 2).End(xlUp).Row
     
    'i - от будем идти, j - до чего
    Worksheets(1).[H5].Value = "Использовано"
    Worksheets(1).[I5].FormulaLocal = "=СУММ(B" & i & ":B" & j & ")"
    
   Worksheets(1).[H6].Value = "На барабане"
   Worksheets(1).[I6].FormulaLocal = "=A" & i & "-I5"

End Sub
В событие книги добавте код,как в моем примере,на запуск .Только в модуль книги
Код:
Private Sub Workbook_Open()
Wo_Calculate
End Sub
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 12.10.2010 в 10:49.
doober вне форума Ответить с цитированием
Старый 12.10.2010, 12:03   #10
lavrentiyy
Пользователь
 
Регистрация: 28.09.2010
Сообщений: 14
По умолчанию

Ну формула это не важно и сам макрос это не важно.
Это я так образно написал, чтоб потом мысль не потерять
Пробовал
Код:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    MsgBox "!!!"
End Sub
все равно не запускается
lavrentiyy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическое создание ярлыков Domain Общие вопросы C/C++ 0 01.10.2010 17:17
Создание макроса Ленусик777 Microsoft Office Excel 4 28.05.2010 14:49
Автоматическое создание txt в макросе Evroclidon Microsoft Office Excel 4 26.01.2010 18:32
Создание макроса SeregaSled Microsoft Office Access 2 28.12.2009 05:55
ПОМОЩЬ!!!! Автоматическое создание заявок WWS10 Microsoft Office Excel 5 21.04.2009 20:08