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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2017, 10:14   #1
Aristarkch
Пользователь
 
Регистрация: 06.03.2017
Сообщений: 38
По умолчанию Запись макроса

Здравствуйте!
Excel 2003.
Возможна ли одновременная (параллельная) запись макроса в несколько листов книги?
Aristarkch вне форума Ответить с цитированием
Старый 10.06.2017, 11:07   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

не возможно не зависимо от версии Excel. макрос 1 и записывается в 1 экземпляре, потом, обычно напильником, шлифуется до нужного Вам состояния
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 10.06.2017, 11:58   #3
Aristarkch
Пользователь
 
Регистрация: 06.03.2017
Сообщений: 38
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
не возможно не зависимо от версии Excel. макрос 1 и записывается в 1 экземпляре, потом, обычно напильником, шлифуется до нужного Вам состояния
Добрый день, Игорь!
К сожалению, Вы подтвердили мои худшие ожидания.
Aristarkch вне форума Ответить с цитированием
Старый 10.06.2017, 13:12   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

здравствуйте. Аристарх!
рассчитывали, что действия над каждым из файлов в него же и запишутся?
подвели в этом вопросе программисты майкрософта, не догадались, что так может быть нужно. но выход я уже назвал - пилить полученный макрос до полного удовлетворения.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 10.06.2017, 16:11   #5
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Вопрос как-то не внятно поставлен.
Начнём с того, что макрос не пишется вообще "в листы"
не пишется даже в модуль листа. При записи макроса он пишется в модуль
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 10.06.2017, 16:59   #6
Aristarkch
Пользователь
 
Регистрация: 06.03.2017
Сообщений: 38
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
здравствуйте. Аристарх!
рассчитывали, что действия над каждым из файлов в него же и запишутся?
подвели в этом вопросе программисты майкрософта, не догадались, что так может быть нужно. но выход я уже назвал - пилить полученный макрос до полного удовлетворения.
Цитата:
Сообщение от IgorGO Посмотреть сообщение
здравствуйте. Аристарх!
рассчитывали, что действия над каждым из файлов в него же и запишутся?
подвели в этом вопросе программисты майкрософта, не догадались, что так может быть нужно. но выход я уже назвал - пилить полученный макрос до полного удовлетворения.
Возможно, формулировка моего, казалось бы, простого вопроса некорректна и непонятна?
Об этом пишет alex77755.
В таком случае, еще раз.
Есть макрос.
И есть книга, допустим, с десятью листами.
Я делаю примитивно: записываю макрос в первый лист. Затем то же проделываю со вторым листом и т.д. Действительно пилю.
А хочется записать макрос в 10 листов не поочередно, а СРАЗУ (параллельно) внести его во все 10 листов одним кликом.
Я пробовал так:

For each ws in Worksheets
With ws
[код макроса]
End with ws
next ws

или так

For each ws in Worksheets
ws.Activate
[код макроса]
next ws

но не получилось.
Aristarkch вне форума Ответить с цитированием
Старый 10.06.2017, 17:10   #7
Aristarkch
Пользователь
 
Регистрация: 06.03.2017
Сообщений: 38
По умолчанию

Цитата:
Сообщение от Aristarkch Посмотреть сообщение
Возможно, формулировка моего, казалось бы, простого вопроса некорректна и непонятна?
Об этом пишет alex77755.
В таком случае, еще раз.
Есть макрос.
И есть книга, допустим, с десятью листами.
Я делаю примитивно: записываю макрос в первый лист. Затем то же проделываю со вторым листом и т.д. Действительно пилю.
А хочется записать макрос в 10 листов не поочередно, а СРАЗУ (параллельно) внести его во все 10 листов одним кликом.
Я пробовал так:

For each ws in Worksheets
With ws
[код макроса]
End with ws
next ws

или так

For each ws in Worksheets
ws.Activate
[код макроса]
next ws

но не получилось.

Цитата:
Сообщение от Aristarkch Посмотреть сообщение
Возможно, формулировка моего, казалось бы, простого вопроса некорректна и непонятна?
Об этом пишет alex77755.
В таком случае, еще раз.
Есть макрос.
И есть книга, допустим, с десятью листами.
Я делаю примитивно: записываю макрос в первый лист. Затем то же проделываю со вторым листом и т.д. Действительно пилю.
А хочется записать макрос в 10 листов не поочередно, а СРАЗУ (параллельно) внести его во все 10 листов одним кликом.
Я пробовал так:

For each ws in Worksheets
With ws
[код макроса]
End with ws
next ws

или так

For each ws in Worksheets
ws.Activate
[код макроса]
next ws

но не получилось.
Возможна ли при необходимости блокировка-разблокировка макроса?
Aristarkch вне форума Ответить с цитированием
Старый 10.06.2017, 17:10   #8
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

ну так здесь же нет записи макроса.
Но возникает вопрос: а надо ли записывать макросы во все листы? почему не записать в модуль класса один раз а при активации любого листа назначать

для записи должно быть что-то типа такого:
Код:
      ТекстПроцедуры = "public Sub QWERT()" & vbCrLf & " MsgBox(""Привет"")" & vbCrLf & "End sub"
        _xlWorkBook.VBProject.VBComponents.Item("ЭтаКнига").CodeModule.AddFromString(ТекстПроцедуры)
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru

Последний раз редактировалось alex77755; 10.06.2017 в 17:14.
alex77755 вне форума Ответить с цитированием
Старый 10.06.2017, 17:15   #9
bdfy
Форумчанин
 
Регистрация: 12.11.2009
Сообщений: 258
По умолчанию

Цитата:
Сообщение от Aristarkch Посмотреть сообщение
И есть книга, допустим, с десятью листами.
Я делаю примитивно: записываю макрос в первый лист. Затем то же проделываю со вторым листом и т.д. Действительно пилю.
Вы пока не покажете пример что там за макрос - хороших советов не услышите
теоретически думаю реально написать макрос который будет брать "записанный" макрос и преобразовывать его так чтобы он работал со всеми листами.
bdfy вне форума Ответить с цитированием
Старый 10.06.2017, 17:17   #10
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Цитата:
Возможна ли при необходимости блокировка-разблокировка макроса?
можно запретить все макросы
можно в нужные ввести проверку глобальной переменной и управляя её значением разрешать или нет выполнение макроса

Цитата:
записываю макрос в первый лист
похоже автор имеет в виде вручную записывает!? не макрорекордером
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не ведется запись макроса если двигаешь соединительные линии на диаграмме? RISagitov Microsoft Office Excel 2 26.01.2014 19:08
Запись макроса: Создание сводной таблицы 888_Yana Помощь студентам 5 17.02.2013 12:27
запись макроса peq Microsoft Office Excel 2 30.11.2011 10:43
Настроить запись макроса в модуль текущего документа CaptainNemo Microsoft Office Word 5 07.06.2009 20:42
Запись макроса valerij Microsoft Office Excel 5 01.12.2007 00:49