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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2012, 00:05   #1
Kvint_Sertoriy
Пользователь
 
Регистрация: 27.02.2012
Сообщений: 13
По умолчанию Равномерное увеличение значения ячейки

Здравствуйте.

Пытаюсь написать маленький макрос для увеличения значения определённой ячейки на постоянную величину. Макрос должен запускаться кнопкой с рабочего листа.

Мой код:

Sub Increase()

Dim i As Integer

i = Cells(2, 2).Value
Cells(2, 2).Value = i + 0.1

End Sub

Значение ячейки (2, 2) увеличивается только при первом запуске макроса. А во второй, третий и т. д. оно остаётся прежним. Не могу понять, почему в i постоянно с листа постоянно загружается старое значение, оно же должно увеличиться на 0,1 после первого включения макроса?

Спасибо.
Kvint_Sertoriy вне форума Ответить с цитированием
Старый 13.10.2012, 00:18   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Dim i As Integer
Цитата:
Integer - это целое число без дробной части (целые числа никогда не содержат десятичного знака, даже если десятичная часть равна нулю).
В Вашем случае напишите
Код:
Dim i As Single
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 13.10.2012, 00:28   #3
Kvint_Sertoriy
Пользователь
 
Регистрация: 27.02.2012
Сообщений: 13
По умолчанию

Точно!!! Спасибо вам большое Виктор. Только вот появилась новая проблема: в начале добавляется 0,1 а потом 0.200000001490116, далее 0.300000002980232 , 0.400000011920929 и т. д. То есть прибавляется чуть больше 0,1. Почему??
Kvint_Sertoriy вне форума Ответить с цитированием
Старый 13.10.2012, 00:33   #4
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Поменяйте тип переменной на
Код:
Dim i As Double
Совет - почитайте о типах переменных в VBA Excel.
В инете полно информации
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 13.10.2012, 00:36   #5
Kvint_Sertoriy
Пользователь
 
Регистрация: 27.02.2012
Сообщений: 13
По умолчанию

Понял. Спасибо за совет.
Kvint_Sertoriy вне форума Ответить с цитированием
Старый 13.10.2012, 01:09   #6
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Код:
Sub Increase()
With Cells(2, 2)
    .Value = .Value + 0.1
End With
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 13.10.2012, 14:06   #7
Kvint_Sertoriy
Пользователь
 
Регистрация: 27.02.2012
Сообщений: 13
По умолчанию

Спасибо. ..
Kvint_Sertoriy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Активирование значения ячейки, на основе другой ячейки Mark.ru Microsoft Office Excel 5 13.12.2010 16:23
Сложение объектов и равномерное распределение их последовательности Tarkh PHP 1 23.12.2009 20:16
php и mysql увеличение ячейки Garacio_cain PHP 1 07.08.2009 23:57
Увеличение значения ячейки при открытии файла robotov Microsoft Office Excel 2 17.06.2009 17:49