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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2015, 16:19   #1
Tigranik
Пользователь
 
Регистрация: 29.01.2013
Сообщений: 17
По умолчанию После работы функции VBA переменные меняются

Добрый день, вот такой простой код... ни как не могу понять почему в результате работы машина сначала выдает мне 4 а потом 2? Ведь переменная y не должна меняется!
Код:
Sub test1()
    y = 3
    MsgBox test2(y)
    MsgBox test2(y)
End Sub

Function test2(x)
    x = x - 1
    test2 = x * 2
End Function
Tigranik вне форума Ответить с цитированием
Старый 17.12.2015, 16:20   #2
Tigranik
Пользователь
 
Регистрация: 29.01.2013
Сообщений: 17
По умолчанию

p.s. объявлял переменные как Dim y As Integer безполезно...

Последний раз редактировалось Tigranik; 17.12.2015 в 16:23.
Tigranik вне форума Ответить с цитированием
Старый 17.12.2015, 16:50   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

передавать значение параметра надо по значению, а не по ссылке (см. Передача аргументов по значению и по ссылке (Visual Basic))
например, так:
Код:
Function test2(ByVal x)
    x = x - 1
    test2 = x * 2
End Function
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.12.2015, 20:08   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

или так
Код:
    MsgBox test2((y))
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 18.12.2015, 14:50   #5
Tigranik
Пользователь
 
Регистрация: 29.01.2013
Сообщений: 17
Хорошо

Работают оба из предложных вариантов, большое вам Спасибо!
Tigranik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переменные в функции DIRID PHP 2 17.10.2015 13:39
переменные функции Host-2013 Общие вопросы Delphi 4 20.02.2013 16:57
Программа на СИ++, используя функции работы с файлами и функции <string.h> Аня Popova Фриланс 9 13.09.2010 15:52
Чем отличается, если объявлять в классе переменные сразу после скобки и после public? TwiX Общие вопросы C/C++ 2 09.12.2009 16:11
встроеннные функции, ссылочные переменные Dimarik Общие вопросы C/C++ 8 10.05.2009 11:46