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

Вход

Регистрация

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

 

= Мир MS Excel/Копирование макроса - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование макроса (Как скопировать макрос в другой документ)
Копирование макроса
Hugo Дата: Среда, 31.08.2011, 14:20 | Сообщение № 21
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
Есть замечание по поводу
Quote (light26)
в то же время, если я открою в Excele файл, скажем Х2.xls и захочу выполнить макрос записанный в Х1.xls, то у меня ничего не получится.

Это не так - если макрос ориентирован на активную книгу или лист, то его расположение не влияет на его работу, например хоть в Personal.xls положи smile


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеЕсть замечание по поводу
Quote (light26)
в то же время, если я открою в Excele файл, скажем Х2.xls и захочу выполнить макрос записанный в Х1.xls, то у меня ничего не получится.

Это не так - если макрос ориентирован на активную книгу или лист, то его расположение не влияет на его работу, например хоть в Personal.xls положи smile

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

2010
Quote (light26)
а сделать-то это как?

Ну ты меня просто в тупик загоняешь такими вопросами! angry
Про Copy/Paste слышал? cool
Дeлаешь даблклик на той строчке, что показана на картинке, и копируй в открывшееся окно макросы начиная с Private Sub и до End Sub.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Quote (light26)
а сделать-то это как?

Ну ты меня просто в тупик загоняешь такими вопросами! angry
Про Copy/Paste слышал? cool
Дeлаешь даблклик на той строчке, что показана на картинке, и копируй в открывшееся окно макросы начиная с Private Sub и до End Sub.

Автор - RAN
Дата добавления - 31.08.2011 в 14:22
light26 Дата: Среда, 31.08.2011, 15:25 | Сообщение № 23
Группа: Друзья
Ранг: Старожил
Сообщений: 1350
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
RAN, Уррррааааа. Получилось )))


Я не волшебник. Я только учусь
 
Ответить
СообщениеRAN, Уррррааааа. Получилось )))

Автор - light26
Дата добавления - 31.08.2011 в 15:25
light26 Дата: Среда, 31.08.2011, 15:28 | Сообщение № 24
Группа: Друзья
Ранг: Старожил
Сообщений: 1350
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Quote (Hugo)
Это не так - если макрос ориентирован на активную книгу или лист, то его расположение не влияет на его работу, например хоть в Personal.xls положи

Да, если при нажатии кнопки "Макрос" (в 2007) этот макрос отобразится в списке макросов и будет активна кнопка "Выполнить", что не происходит в случае с тем же календарем.:(


Я не волшебник. Я только учусь
 
Ответить
Сообщение
Quote (Hugo)
Это не так - если макрос ориентирован на активную книгу или лист, то его расположение не влияет на его работу, например хоть в Personal.xls положи

Да, если при нажатии кнопки "Макрос" (в 2007) этот макрос отобразится в списке макросов и будет активна кнопка "Выполнить", что не происходит в случае с тем же календарем.:(

Автор - light26
Дата добавления - 31.08.2011 в 15:28
light26 Дата: Среда, 31.08.2011, 15:31 | Сообщение № 25
Группа: Друзья
Ранг: Старожил
Сообщений: 1350
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Quote (RAN)
Ну ты меня просто в тупик загоняешь такими вопросами! angry

Злюка )), но все-равно


Я не волшебник. Я только учусь

Сообщение отредактировал light26 - Среда, 31.08.2011, 15:32
 
Ответить
Сообщение
Quote (RAN)
Ну ты меня просто в тупик загоняешь такими вопросами! angry

Злюка )), но все-равно

Автор - light26
Дата добавления - 31.08.2011 в 15:31
RAN Дата: Среда, 31.08.2011, 15:52 | Сообщение № 26
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Скопируй код в модуль"ЭтаКнига", и будет твойе правой кнопке мыша счастье!
Code
Private Sub Workbook_BeforeClose(Cancel As Boolean)
CalendarMenuDelete
End Sub
Private Sub Workbook_Open()
Call CalendarMenuCreate
End Sub


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеСкопируй код в модуль"ЭтаКнига", и будет твойе правой кнопке мыша счастье!
Code
Private Sub Workbook_BeforeClose(Cancel As Boolean)
CalendarMenuDelete
End Sub
Private Sub Workbook_Open()
Call CalendarMenuCreate
End Sub

Автор - RAN
Дата добавления - 31.08.2011 в 15:52
light26 Дата: Среда, 31.08.2011, 16:00 | Сообщение № 27
Группа: Друзья
Ранг: Старожил
Сообщений: 1350
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
RAN, а я так сделал:
Code
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
     Dim arr
     If Target.Count <> 1 Then Exit Sub
     If Not Intersect(Target, Columns(2)) Is Nothing Then
     Application.EnableEvents = False
     arr = www
         If Target = arr(3, 1) Then Target.Offset(, 22) = Format(Now, "hh:nn DD.MM.YYYY")
         If Target = arr(4, 1) Then Target.Offset(, 23) = Format(Now, "hh:nn DD.MM.YYYY")
         If Target = arr(5, 1) Then Target.Offset(, 26) = Format(Now, "hh:nn DD.MM.YYYY")
         If Target = arr(6, 1) Then Target.Offset(, 24) = Format(Now, "hh:nn DD.MM.YYYY")
         If Target = arr(7, 1) Then Target.Offset(, 25) = Format(Now, "hh:nn DD.MM.YYYY")
     Application.EnableEvents = True
     End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Target.Count > 1 Then Exit Sub
     If Not Intersect(Target, Range("O:Q")) Is Nothing Then
        DateForm.Show
     End If
End Sub

не правильно?


Я не волшебник. Я только учусь
 
Ответить
СообщениеRAN, а я так сделал:
Code
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
     Dim arr
     If Target.Count <> 1 Then Exit Sub
     If Not Intersect(Target, Columns(2)) Is Nothing Then
     Application.EnableEvents = False
     arr = www
         If Target = arr(3, 1) Then Target.Offset(, 22) = Format(Now, "hh:nn DD.MM.YYYY")
         If Target = arr(4, 1) Then Target.Offset(, 23) = Format(Now, "hh:nn DD.MM.YYYY")
         If Target = arr(5, 1) Then Target.Offset(, 26) = Format(Now, "hh:nn DD.MM.YYYY")
         If Target = arr(6, 1) Then Target.Offset(, 24) = Format(Now, "hh:nn DD.MM.YYYY")
         If Target = arr(7, 1) Then Target.Offset(, 25) = Format(Now, "hh:nn DD.MM.YYYY")
     Application.EnableEvents = True
     End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Target.Count > 1 Then Exit Sub
     If Not Intersect(Target, Range("O:Q")) Is Nothing Then
        DateForm.Show
     End If
End Sub

не правильно?

Автор - light26
Дата добавления - 31.08.2011 в 16:00
RAN Дата: Среда, 31.08.2011, 16:30 | Сообщение № 28
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Да все правильно. Работает по событиям на листе.
Теперь вставь последний код, сохрани, закрой/открой книгу и нажми ПКМ.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеДа все правильно. Работает по событиям на листе.
Теперь вставь последний код, сохрани, закрой/открой книгу и нажми ПКМ.

Автор - RAN
Дата добавления - 31.08.2011 в 16:30
light26 Дата: Среда, 31.08.2011, 16:48 | Сообщение № 29
Группа: Друзья
Ранг: Старожил
Сообщений: 1350
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
RAN, сделал. никаких изменений. т.е. я добавил
Quote (RAN)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
CalendarMenuDelete
End Sub
Private Sub Workbook_Open()
Call CalendarMenuCreate
End Sub

в конец указанного выше кода. Правильно?
или его в другое место надо было вставить?


Я не волшебник. Я только учусь
 
Ответить
СообщениеRAN, сделал. никаких изменений. т.е. я добавил
Quote (RAN)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
CalendarMenuDelete
End Sub
Private Sub Workbook_Open()
Call CalendarMenuCreate
End Sub

в конец указанного выше кода. Правильно?
или его в другое место надо было вставить?

Автор - light26
Дата добавления - 31.08.2011 в 16:48
RAN Дата: Среда, 31.08.2011, 18:19 | Сообщение № 30
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Если между словами "лист" и "книга" разницы нет, то правильно, если есть - то неправильно.
Или с русским языком большие проблемы?
Извини, на другом писать не умею... dry


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЕсли между словами "лист" и "книга" разницы нет, то правильно, если есть - то неправильно.
Или с русским языком большие проблемы?
Извини, на другом писать не умею... dry

Автор - RAN
Дата добавления - 31.08.2011 в 18:19
light26 Дата: Четверг, 01.09.2011, 10:24 | Сообщение № 31
Группа: Друзья
Ранг: Старожил
Сообщений: 1350
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Quote (RAN)
Скопируй код в модуль"ЭтаКнига", и будет твойе правой кнопке мыша счастье!

Какое именно щасьте должно быть правой клавише моего мыша?
Потому как вставив
Code
Private Sub Workbook_BeforeClose(Cancel As Boolean)
CalendarMenuDelete
End Sub
Private Sub Workbook_Open()
Call CalendarMenuCreate
End Sub

в окно, появившееся после двойного клика по "ЭтаКнига", VBA начинает материться. А если кликнуть правой кнопкой по "ЭтаКнига", затем insert, и далее module, то вставка кода в появившееся окно ничего не дает. Книгу я после каждого действия закрывал и снова открывал. Как было написано.


Я не волшебник. Я только учусь

Сообщение отредактировал light26 - Четверг, 01.09.2011, 10:25
 
Ответить
Сообщение
Quote (RAN)
Скопируй код в модуль"ЭтаКнига", и будет твойе правой кнопке мыша счастье!

Какое именно щасьте должно быть правой клавише моего мыша?
Потому как вставив
Code
Private Sub Workbook_BeforeClose(Cancel As Boolean)
CalendarMenuDelete
End Sub
Private Sub Workbook_Open()
Call CalendarMenuCreate
End Sub

в окно, появившееся после двойного клика по "ЭтаКнига", VBA начинает материться. А если кликнуть правой кнопкой по "ЭтаКнига", затем insert, и далее module, то вставка кода в появившееся окно ничего не дает. Книгу я после каждого действия закрывал и снова открывал. Как было написано.

Автор - light26
Дата добавления - 01.09.2011 в 10:24
RAN Дата: Четверг, 01.09.2011, 11:54 | Сообщение № 32
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Матерится, матерится....
Покажи, как!


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

Автор - RAN
Дата добавления - 01.09.2011 в 11:54
light26 Дата: Четверг, 01.09.2011, 12:15 | Сообщение № 33
Группа: Друзья
Ранг: Старожил
Сообщений: 1350
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Quote (RAN)
Матерится, матерится....
Покажи, как!

Не по русски )))
щас напишу:
Compile error:
Sub or function not defined
Файлы после нажатия Print screen куда сохраняются?


Я не волшебник. Я только учусь

Сообщение отредактировал light26 - Четверг, 01.09.2011, 12:16
 
Ответить
Сообщение
Quote (RAN)
Матерится, матерится....
Покажи, как!

Не по русски )))
щас напишу:
Compile error:
Sub or function not defined
Файлы после нажатия Print screen куда сохраняются?

Автор - light26
Дата добавления - 01.09.2011 в 12:15
RAN Дата: Четверг, 01.09.2011, 15:40 | Сообщение № 34
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
А у тебя в этой книге календарь-то есть?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеА у тебя в этой книге календарь-то есть?

Автор - RAN
Дата добавления - 01.09.2011 в 15:40
light26 Дата: Четверг, 01.09.2011, 16:18 | Сообщение № 35
Группа: Друзья
Ранг: Старожил
Сообщений: 1350
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Quote (RAN)
А у тебя в этой книге календарь-то есть?

ну, как тебе сказать?
Quote (RAN)
Открываешь свой файл и файл с календарем.
Заходишь в редактор VBA.
Открываешь Wiev - Project Explorer (если закрыт)
Открываешь Forms
Хватаешь мышом DateForm и тащишь в норку (свой файл).
Аналогично с модулями и модулями класса.

ВСЕ! Календарь в твоем файле!

Если выполнение этих операций достаточно для того, чтобы календарь был в моей книге, то есть


Я не волшебник. Я только учусь

Сообщение отредактировал light26 - Четверг, 01.09.2011, 16:19
 
Ответить
Сообщение
Quote (RAN)
А у тебя в этой книге календарь-то есть?

ну, как тебе сказать?
Quote (RAN)
Открываешь свой файл и файл с календарем.
Заходишь в редактор VBA.
Открываешь Wiev - Project Explorer (если закрыт)
Открываешь Forms
Хватаешь мышом DateForm и тащишь в норку (свой файл).
Аналогично с модулями и модулями класса.

ВСЕ! Календарь в твоем файле!

Если выполнение этих операций достаточно для того, чтобы календарь был в моей книге, то есть

Автор - light26
Дата добавления - 01.09.2011 в 16:18
RAN Дата: Четверг, 01.09.2011, 17:24 | Сообщение № 36
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
У тебя есть все эти модули?
К сообщению приложен файл: 4578664.png (5.3 Kb)


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

Автор - RAN
Дата добавления - 01.09.2011 в 17:24
light26 Дата: Четверг, 01.09.2011, 18:04 | Сообщение № 37
Группа: Друзья
Ранг: Старожил
Сообщений: 1350
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Quote (RAN)
У тебя есть все эти модули?

Да. Только вместо DateMenu у меня Module1, а в календаре, в образце (откуда я брал макрос), вообще нет такого модуля. В папке modules только DateSubFunction
А в Module1 у меня такой текст:
Code
Option Explicit
Option Private Module

Function www()
www = Range("Статус").Value
End Function


Я не волшебник. Я только учусь

Сообщение отредактировал light26 - Четверг, 01.09.2011, 18:06
 
Ответить
Сообщение
Quote (RAN)
У тебя есть все эти модули?

Да. Только вместо DateMenu у меня Module1, а в календаре, в образце (откуда я брал макрос), вообще нет такого модуля. В папке modules только DateSubFunction
А в Module1 у меня такой текст:
Code
Option Explicit
Option Private Module

Function www()
www = Range("Статус").Value
End Function

Автор - light26
Дата добавления - 01.09.2011 в 18:04
RAN Дата: Четверг, 01.09.2011, 18:51 | Сообщение № 38
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Quote (light26)
Только вместо DateMenu у меня Module1

Вот он и матерится!
Добавь DateMenu


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Quote (light26)
Только вместо DateMenu у меня Module1

Вот он и матерится!
Добавь DateMenu

Автор - RAN
Дата добавления - 01.09.2011 в 18:51
light26 Дата: Пятница, 02.09.2011, 00:34 | Сообщение № 39
Группа: Друзья
Ранг: Старожил
Сообщений: 1350
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Quote (RAN)
Добавь DateMenu

А где ж его взять-то? я же говорю: у меня в оригинальном файле с календарем нет этого модуля.
А в моем файле вместо DateMenu стоит Module1. Или просто переименовать Module1 в DateMenu?


Я не волшебник. Я только учусь
 
Ответить
Сообщение
Quote (RAN)
Добавь DateMenu

А где ж его взять-то? я же говорю: у меня в оригинальном файле с календарем нет этого модуля.
А в моем файле вместо DateMenu стоит Module1. Или просто переименовать Module1 в DateMenu?

Автор - light26
Дата добавления - 02.09.2011 в 00:34
RAN Дата: Пятница, 02.09.2011, 00:49 | Сообщение № 40
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
В посте №36 я выложил скрин с VBA проекта файла из поста №6.
Тебе все разжевали, в рот положили, уговаривают - ну проглоти, пожалуйста!
А ты, как дите малое, все выплюнуть порываешся...
Можешь что угодно, как угодно и куда угодно перемещать или переименовывать.

Дальнейшее обсуждение считаю абсолютно беспереспективным! angry >( angry >( angry


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

Сообщение отредактировал RAN - Пятница, 02.09.2011, 00:55
 
Ответить
СообщениеВ посте №36 я выложил скрин с VBA проекта файла из поста №6.
Тебе все разжевали, в рот положили, уговаривают - ну проглоти, пожалуйста!
А ты, как дите малое, все выплюнуть порываешся...
Можешь что угодно, как угодно и куда угодно перемещать или переименовывать.

Дальнейшее обсуждение считаю абсолютно беспереспективным! angry >( angry >( angry

Автор - RAN
Дата добавления - 02.09.2011 в 00:49
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование макроса (Как скопировать макрос в другой документ)
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

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