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

Вход

Регистрация

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

 

= Мир MS Excel/В цикле не суммируется переменная - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » В цикле не суммируется переменная (Макросы/Sub)
В цикле не суммируется переменная
ilnaramah Дата: Среда, 29.10.2014, 21:30 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Здравствуйте! Есть 2 одинакового типа переменные sum и b.Изначально они равны 0. В последнем цикле For я к той и другой прибавляю одни и те же значения, но b увеличивается, а sum остается равна 0. Помогите пожалуйста разобраться!
К сообщению приложен файл: 2241572.xlsm (31.0 Kb)
 
Ответить
СообщениеЗдравствуйте! Есть 2 одинакового типа переменные sum и b.Изначально они равны 0. В последнем цикле For я к той и другой прибавляю одни и те же значения, но b увеличивается, а sum остается равна 0. Помогите пожалуйста разобраться!

Автор - ilnaramah
Дата добавления - 29.10.2014 в 21:30
RAN Дата: Среда, 29.10.2014, 21:41 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
ничего удивительного
b as variant это "0,00072808326691819" видит
а sum as Integer - это целое. 1 и 1, 00072808326691819 - все равно 1


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениеничего удивительного
b as variant это "0,00072808326691819" видит
а sum as Integer - это целое. 1 и 1, 00072808326691819 - все равно 1

Автор - RAN
Дата добавления - 29.10.2014 в 21:41
Alex_ST Дата: Среда, 29.10.2014, 21:42 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
У Вас не правильно задана размерность переменных
При записи [vba]
Код
Public i, j, k, z, N, b, mash, sum As Integer
[/vba]
Получается, что Вы задали только sum As Integer, а все остальные - нет, т.е. Variant
Когда в цикле Вы к sum As Integer добавляете hn2(k)=3Е-04, sum, естественно, не меняется (она же - целое), а b - возрастает, т.к. она Variant



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеУ Вас не правильно задана размерность переменных
При записи [vba]
Код
Public i, j, k, z, N, b, mash, sum As Integer
[/vba]
Получается, что Вы задали только sum As Integer, а все остальные - нет, т.е. Variant
Когда в цикле Вы к sum As Integer добавляете hn2(k)=3Е-04, sum, естественно, не меняется (она же - целое), а b - возрастает, т.к. она Variant

Автор - Alex_ST
Дата добавления - 29.10.2014 в 21:42
Wasilich Дата: Среда, 29.10.2014, 22:06 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Помогите пожалуйста разобраться!
В общем то уже помогли. Но почитать не помешает:
http://scriptcoding.ru/2013/09/23/vba-tipy-danych/


Сообщение отредактировал Wasilic - Среда, 29.10.2014, 22:10
 
Ответить
Сообщение
Помогите пожалуйста разобраться!
В общем то уже помогли. Но почитать не помешает:
http://scriptcoding.ru/2013/09/23/vba-tipy-danych/

Автор - Wasilich
Дата добавления - 29.10.2014 в 22:06
ilnaramah Дата: Среда, 29.10.2014, 22:07 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Спасибо)
 
Ответить
СообщениеСпасибо)

Автор - ilnaramah
Дата добавления - 29.10.2014 в 22:07
RAN Дата: Среда, 29.10.2014, 22:31 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Wasilic, повеселил!

VBA позволяет представлять числовые значения в экспоненциальной форме, в некоторых случаях это экономит код. После символа E указывается степень десятичных знаков, например:
-5.43E2 – тут мы записали число -543 в экспоненциальной форме.
3.4Е6 – число 3 400 000
5Е9 – число 5 000 000 000


РЖУНИМАГУ! yahoo lol
Економы хреновы! clap


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеWasilic, повеселил!

VBA позволяет представлять числовые значения в экспоненциальной форме, в некоторых случаях это экономит код. После символа E указывается степень десятичных знаков, например:
-5.43E2 – тут мы записали число -543 в экспоненциальной форме.
3.4Е6 – число 3 400 000
5Е9 – число 5 000 000 000


РЖУНИМАГУ! yahoo lol
Економы хреновы! clap

Автор - RAN
Дата добавления - 29.10.2014 в 22:31
Wasilich Дата: Среда, 29.10.2014, 22:54 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Wasilic, повеселил!
Я этого даже не видел. А типы данных там описываются, что и надо бы почитать ТСу. Первое чё гугл выдал, то и предложил. :)
в некоторых случаях это экономит код
Да, заметно, особенно здесь -5.43E2 =-543


Сообщение отредактировал Wasilic - Среда, 29.10.2014, 23:08
 
Ответить
Сообщение
Wasilic, повеселил!
Я этого даже не видел. А типы данных там описываются, что и надо бы почитать ТСу. Первое чё гугл выдал, то и предложил. :)
в некоторых случаях это экономит код
Да, заметно, особенно здесь -5.43E2 =-543

Автор - Wasilich
Дата добавления - 29.10.2014 в 22:54
Alex_ST Дата: Четверг, 30.10.2014, 09:08 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Мы тут с вами мозоли на пальцах об клаву и на извилинах об мысли набиваем, объясняя Ильнаре, где ошибка, а её это, похоже, не шибко-то и волнует. Задала вопрос в 21:30, а когда мы с Андреем через 10 минут "отдуплились", я глянул - её уже на форуме не было.
Сейчас посмотрел в профиле: входила на сайт после наших ответов29.10.2014 в 22:07.
Не знаю, заходила ли сюда, но, думаю, если уж спрашивала, то, наверное, всё-таки заглядывала.
Однако реакции до сих пор никакой.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеМы тут с вами мозоли на пальцах об клаву и на извилинах об мысли набиваем, объясняя Ильнаре, где ошибка, а её это, похоже, не шибко-то и волнует. Задала вопрос в 21:30, а когда мы с Андреем через 10 минут "отдуплились", я глянул - её уже на форуме не было.
Сейчас посмотрел в профиле: входила на сайт после наших ответов29.10.2014 в 22:07.
Не знаю, заходила ли сюда, но, думаю, если уж спрашивала, то, наверное, всё-таки заглядывала.
Однако реакции до сих пор никакой.

Автор - Alex_ST
Дата добавления - 30.10.2014 в 09:08
Wasilich Дата: Четверг, 30.10.2014, 09:20 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Не, ну спасибо то сказала, пост 5, а остальное то не для неё.


Сообщение отредактировал Wasilic - Четверг, 30.10.2014, 09:21
 
Ответить
СообщениеНе, ну спасибо то сказала, пост 5, а остальное то не для неё.

Автор - Wasilich
Дата добавления - 30.10.2014 в 09:20
Мир MS Excel » Вопросы и решения » Вопросы по VBA » В цикле не суммируется переменная (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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