|
|
|
Вопрос по VBA: глобальные переменные
|
|||
|---|---|---|---|
|
#18+
Уважаемые форумчане, вопрос в следующем: Сразу оговорюсь, что в создании макросов я новичок. У меня есть массив, который должен создаваться и заполняться данными при открытии книги в(событие Workbook_Open()). Далее этот массив должен по-разному обрабатываться при внесении изменений на листах (событие Worksheet_Change()). Я поместил первую процедуру в модуль книги, вторую в модули соответствующих листов. Массив в модуле книги объявил как глобальную переменную до определения процедуры. Проблема в том, что в модулях листов созданный массив не виден. Есть идея поместить все в модуль проекта, но не знаю, как это оформить, скажем, процедуре worksheet_change в качестве параметра передается только измененная ячейка - как передать туда лист? Подскажите, что можно сделать. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2008, 21:46 |
|
||
|
Вопрос по VBA: глобальные переменные
|
|||
|---|---|---|---|
|
#18+
erninioУ меня есть массив, который должен создаваться и заполняться данными при открытии книги в(событие Workbook_Open()). Далее этот массив должен по-разному обрабатываться при внесении изменений на листах (событие Worksheet_Change()). Я поместил первую процедуру в модуль книги, вторую в модули соответствующих листов. Массив в модуле книги объявил как глобальную переменную до определения процедуры. Проблема в том, что в модулях листов созданный массив не виден.Глобальные переменные надо объявлять в отдельном модуле, не привязанном ни к листу, ни к книге. В главном меню VBA - Insert->Module и вперед. Не забудь убрать объявление из модуля книги. erninio Есть идея поместить все в модуль проекта, но не знаю, как это оформить, скажем, процедуре worksheet_change в качестве параметра передается только измененная ячейка - как передать туда лист? Плохая идея. События листа принадлежат листу и поэтому они описываются в модуле листа. Если ты их вынесешь в другой модуль - они перестанут быть событиями листа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2008, 22:12 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=35624189&tid=2161690]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
92ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 397ms |

| 0 / 0 |
