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

Вход

Регистрация

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

 

= Мир MS Excel/Объявить глобальную переменную, для всей книге - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Объявить глобальную переменную, для всей книге (Макросы/Sub)
Объявить глобальную переменную, для всей книге
lopuxi Дата: Пятница, 23.10.2015, 16:24 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007, 2013
Всем привет.
Поискал по интернету, но не смог понять, как создать глобальную переменную? Такую переменную, которая будет читаться в любом месте программы, открытой Excel книге?

Я попытался создать переменную в "ЭтаКнига"
Workbook и open
Option Explicit

[vba]
Код

Public Version As String

Public Sub Workbook_Open()
Version = "Глобальная переменная"
End Sub
[/vba]

Но данный способ не работает. Когда я обращаюсь из модуля или формы к Version, то он пишет ошибку и говорит, переменная не объявлена.

Мне бы очень помогла такая переменная, которая бы обозначалась еще при запуске книги и далее, она бы сопровождала все действия пользователя.
Не зависимо открывает он форму, меняет лист или добавляет и т.д. Данная переменная всегда доступна для процессов в коде.

Спасибо.


О_о ...и так можно было?
 
Ответить
СообщениеВсем привет.
Поискал по интернету, но не смог понять, как создать глобальную переменную? Такую переменную, которая будет читаться в любом месте программы, открытой Excel книге?

Я попытался создать переменную в "ЭтаКнига"
Workbook и open
Option Explicit

[vba]
Код

Public Version As String

Public Sub Workbook_Open()
Version = "Глобальная переменная"
End Sub
[/vba]

Но данный способ не работает. Когда я обращаюсь из модуля или формы к Version, то он пишет ошибку и говорит, переменная не объявлена.

Мне бы очень помогла такая переменная, которая бы обозначалась еще при запуске книги и далее, она бы сопровождала все действия пользователя.
Не зависимо открывает он форму, меняет лист или добавляет и т.д. Данная переменная всегда доступна для процессов в коде.

Спасибо.

Автор - lopuxi
Дата добавления - 23.10.2015 в 16:24
BaroVit Дата: Пятница, 23.10.2015, 16:28 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
ЭтаКнига.Version
 
Ответить
СообщениеЭтаКнига.Version

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

2010
Я попытался создать переменную в "ЭтаКнига"

Public переменные декларируются в стандартном модуле, а ЭтаКнига - это модуль класса.


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

Сообщение отредактировал RAN - Пятница, 23.10.2015, 17:00
 
Ответить
Сообщение
Я попытался создать переменную в "ЭтаКнига"

Public переменные декларируются в стандартном модуле, а ЭтаКнига - это модуль класса.

Автор - RAN
Дата добавления - 23.10.2015 в 16:59
lopuxi Дата: Пятница, 23.10.2015, 17:10 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007, 2013
Вот это я пишу в модуле.

Объявить переменную я объявил.
[vba]
Код

Option Explicit

Public Version  As String

Public Function MyFunVer()
    
    Version = "Глобальная переменная"
End Function
[/vba]
Мне всего то нужно, задать ей параметр, который смогу использовать везде.
Но переменная пуста. Как занести в нее что ни будь?


О_о ...и так можно было?
 
Ответить
СообщениеВот это я пишу в модуле.

Объявить переменную я объявил.
[vba]
Код

Option Explicit

Public Version  As String

Public Function MyFunVer()
    
    Version = "Глобальная переменная"
End Function
[/vba]
Мне всего то нужно, задать ей параметр, который смогу использовать везде.
Но переменная пуста. Как занести в нее что ни будь?

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

2010
Странный вопрос.
Вы выложили код, не содержащий ни единой ошибки. После его выполнения переменная Version принимает значение "Глобальная переменная". И что вы хотите от нас?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеСтранный вопрос.
Вы выложили код, не содержащий ни единой ошибки. После его выполнения переменная Version принимает значение "Глобальная переменная". И что вы хотите от нас?

Автор - RAN
Дата добавления - 23.10.2015 в 17:32
BaroVit Дата: Пятница, 23.10.2015, 17:48 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Я новичок в VBA. Эту задачу решаю так, как показал в примере.
Пример в файле
К сообщению приложен файл: 1179431.xlsm (24.8 Kb)
 
Ответить
СообщениеЯ новичок в VBA. Эту задачу решаю так, как показал в примере.
Пример в файле

Автор - BaroVit
Дата добавления - 23.10.2015 в 17:48
Roman777 Дата: Пятница, 23.10.2015, 17:50 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
BaroVit, что-то Ваш пример совсем не соотвествует сообщению №4)))


Много чего не знаю!!!!
 
Ответить
СообщениеBaroVit, что-то Ваш пример совсем не соотвествует сообщению №4)))

Автор - Roman777
Дата добавления - 23.10.2015 в 17:50
Roman777 Дата: Пятница, 23.10.2015, 17:54 | Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
Как было уже подсказано, в приложенном файле выполнено.
К сообщению приложен файл: 1179431_.xlsm (18.6 Kb)


Много чего не знаю!!!!
 
Ответить
СообщениеКак было уже подсказано, в приложенном файле выполнено.

Автор - Roman777
Дата добавления - 23.10.2015 в 17:54
BaroVit Дата: Пятница, 23.10.2015, 17:55 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
BaroVit, что-то Ваш пример совсем не соотвествует сообщению №4)))


В 4-м сообщении в коде нет ошибок. Я показал, как я из разных модулей обращаюсь к глобальной переменной, объявленной в ЭтаКнига.
Как я понял из вопроса автора, он именно это и хочет сделать.
 
Ответить
Сообщение
BaroVit, что-то Ваш пример совсем не соотвествует сообщению №4)))


В 4-м сообщении в коде нет ошибок. Я показал, как я из разных модулей обращаюсь к глобальной переменной, объявленной в ЭтаКнига.
Как я понял из вопроса автора, он именно это и хочет сделать.

Автор - BaroVit
Дата добавления - 23.10.2015 в 17:55
Roman777 Дата: Пятница, 23.10.2015, 17:57 | Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
BaroVit, простите) я сёдня туплю, я спутал Вас с lopuxi )))


Много чего не знаю!!!!
 
Ответить
СообщениеBaroVit, простите) я сёдня туплю, я спутал Вас с lopuxi )))

Автор - Roman777
Дата добавления - 23.10.2015 в 17:57
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Объявить глобальную переменную, для всей книге (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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