powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / туплю WorksheetFunction.Sum
9 сообщений из 9, страница 1 из 1
туплю WorksheetFunction.Sum
    #36200887
балбес111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Простейший код:
Dim d, f, g As Double
d = Application.WorksheetFunction.Sum(Range(Cells(1, 2), Cells(1, 10))) 'в отладчике = 0.075
f = 0.075
g = Cells(1, 1).Value 'в отладчике = 0.075
If d > f Then
MsgBox ""
End If
If d > g Then
MsgBox ""
End If

Оба условия выполняются!! Хотя в обоих случаях в отладчике видно, что d= 0.075.

В чем проблема?
...
Рейтинг: 0 / 0
туплю WorksheetFunction.Sum
    #36200909
qwrqwr_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проверьте:
Код: plaintext
1.
2.
3.
4.
5.
If d > f Then
    MsgBox d - f
End If
If d > g Then
    MsgBox d - g
End If
балбес111
В чем проблема?в округлении чисел с плавающей запятой
PS а переменные d и f - вообще variant (вы в курсе?)
...
Рейтинг: 0 / 0
туплю WorksheetFunction.Sum
    #36201222
балбес111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы правы. Если для переменной d использовать округление то все ок.
d=Round(Application.WorksheetFunction.Sum(Range(Cells(1, 2), Cells(1, 10))),3)
Но почему в отладчике, в watch том же, все 3 переменные показываются с одинаковым типом и значением? Чтобы жить было веселее?
...
Рейтинг: 0 / 0
туплю WorksheetFunction.Sum
    #36201274
qwrqwr_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
балбес111, про watch не знаю - а вообще, при работе с single/double (если эти типы действительно нужны) общее правило - cм. FAQ, Q19, A1
чтобы стало еще веселее - введите в ячейку Экселя =(0,8-(0,7+0,1))*10^17
...
Рейтинг: 0 / 0
туплю WorksheetFunction.Sum
    #36201347
балбес111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
...
Рейтинг: 0 / 0
туплю WorksheetFunction.Sum
    #36201566
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwrqwr_введите в ячейку Экселя =(0,8-(0,7+0,1))*10^17
Прикольно... Это только с этими числами ? С другими считает правильно и возвращает 0...
...
Рейтинг: 0 / 0
туплю WorksheetFunction.Sum
    #36201579
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
=(0.9-(0.6+0.3))*10^17
...
Рейтинг: 0 / 0
туплю WorksheetFunction.Sum
    #36201782
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
весело...
...
Рейтинг: 0 / 0
туплю WorksheetFunction.Sum
    #36202249
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, веселимся по полной.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / туплю WorksheetFunction.Sum
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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