Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Переменная уровня модуля "ломает" выполнение всех процедур / 5 сообщений из 5, страница 1 из 1
30.06.2016, 12:00
    #39265359
Indian
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменная уровня модуля "ломает" выполнение всех процедур
Здравствуйте!
Excel 2010.
Объявляю переменную уровня модуля в General и при запуске любой процедуры появляется ошибка Invalid outside procedure
Код: vbnet
1.
2.
3.
4.
5.
6.
'блок General до первой процедуры
Dim dfg As String
dfg = "gkgkgkgk"
'первая процедура
Public Sub Delenie()
'и так далее


Комментирую первые две строки и все выполняется нормально. Кроме того, при объявлении переменной уровня модуля список макросов меняется на список с указанием полного пути к макросу. Без объявления переменной - только имена макросов. Модуль единственный. Все макросы находятся в нем. Как это победить? Книжку читал
P.S.: Переменную нигде не использую в макросах.
...
Рейтинг: 0 / 0
30.06.2016, 12:10
    #39265374
hclubmk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменная уровня модуля "ломает" выполнение всех процедур
Странный подход инициализации переменных...
...
Рейтинг: 0 / 0
30.06.2016, 12:17
    #39265377
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменная уровня модуля "ломает" выполнение всех процедур
В ошибке все четко сказано. Оператор присваивания нельзя использовать вне процедуры.IndianКнижку читалИ в какой книжке есть подобное?
...
Рейтинг: 0 / 0
30.06.2016, 12:18
    #39265378
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменная уровня модуля "ломает" выполнение всех процедур
Indian,

Так в гугл-переводчик вставьте, что Вам пишут :) Объявление переменной может быть вне модуля. А вот присвоение значения - только внутри процедур и функций. или константой тогда объявляйте.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
'блок General до первой процедуры
Dim dfg As String
'первая процедура
Public Sub Delenie()
dfg = "gkgkgkgk"
End sub
'и так далее


или
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
'блок General до первой процедуры
const dfg As String = "gkgkgkgk"
'первая процедура
Public Sub Delenie()

End sub
'и так далее
...
Рейтинг: 0 / 0
30.06.2016, 12:38
    #39265400
Indian
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменная уровня модуля "ломает" выполнение всех процедур
Shocker.ProВ ошибке все четко сказано. Оператор присваивания нельзя использовать вне процедуры.IndianКнижку читалИ в какой книжке есть подобное?
Но не написано, что нельзя :) Я все понял. Спасибо всем!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Переменная уровня модуля "ломает" выполнение всех процедур / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]