Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Хелп непонятный глюк VBA!!!
|
|||
|---|---|---|---|
|
#18+
Помогите Пишу макрос для Екселя Deb = WorksheetFunction.SumIf(Range(Cells(1, 2), Cells(1000, 2)), "=" & Npd, Range(Cells(1, 7), Cells(1000, 7))) Kred = WorksheetFunction.SumIf(Range(Cells(1, 2), Cells(1000, 2)), "=" & Npd, Range(Cells(1, 8), Cells(1000, 8))) If (d - Kred) <> 0 Or (k - Deb) <> 0 Then Metka "Неправильно" в отладке d = 12214,88 Kred = 12214,88 а (d - Kred) = -1,81898940354586E-12 тоесть условие не выполняется (d <> Kred) тоже самое Как вылечить подскажите, а то кончилась фантазия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2006, 12:42 |
|
||
|
Хелп непонятный глюк VBA!!!
|
|||
|---|---|---|---|
|
#18+
NikoSПомогите Пишу макрос для Екселя Deb = WorksheetFunction.SumIf(Range(Cells(1, 2), Cells(1000, 2)), "=" & Npd, Range(Cells(1, 7), Cells(1000, 7))) Kred = WorksheetFunction.SumIf(Range(Cells(1, 2), Cells(1000, 2)), "=" & Npd, Range(Cells(1, 8), Cells(1000, 8))) If (d - Kred) <> 0 Or (k - Deb) <> 0 Then Metka "Неправильно" в отладке d = 12214,88 Kred = 12214,88 а (d - Kred) = -1,81898940354586E-12 тоесть условие не выполняется (d <> Kred) тоже самое Как вылечить подскажите, а то кончилась фантазия. Пожалуйста помогите, надо быстро и вчера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2006, 12:58 |
|
||
|
Хелп непонятный глюк VBA!!!
|
|||
|---|---|---|---|
|
#18+
NikoS NikoSПомогите Пишу макрос для Екселя Deb = WorksheetFunction.SumIf(Range(Cells(1, 2), Cells(1000, 2)), "=" & Npd, Range(Cells(1, 7), Cells(1000, 7))) Kred = WorksheetFunction.SumIf(Range(Cells(1, 2), Cells(1000, 2)), "=" & Npd, Range(Cells(1, 8), Cells(1000, 8))) If (d - Kred) <> 0 Or (k - Deb) <> 0 Then Metka "Неправильно" в отладке d = 12214,88 Kred = 12214,88 а (d - Kred) = -1,81898940354586E-12 тоесть условие не выполняется (d <> Kred) тоже самое Как вылечить подскажите, а то кончилась фантазия. Пожалуйста помогите, надо быстро и вчера Это называется точность вычислений и округление результата... Определите необходимую Вам точность (например, 0.001) и проверяйте (функция abs() = вычисление модуля числа, результат всегда положительный): If abs(d - Kred) > 0.001 Or abs(k - Deb) > 0.001 Then Metka "Неправильно" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2006, 14:53 |
|
||
|
Хелп непонятный глюк VBA!!!
|
|||
|---|---|---|---|
|
#18+
Да эта функция дает положительный результат, но мне нужно чтобы Metka "Не правильно" выполнилась если (d <> Kred) или (k <> Deb). В моем случае два одинаковых числа d=12214,88 и Kred=12214,88 считаются не равными, и получение разницы двух чисел не равной 0 - один из вариант проверки. Все значения скопированы с дебагера! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2006, 15:49 |
|
||
|
Хелп непонятный глюк VBA!!!
|
|||
|---|---|---|---|
|
#18+
Чем не устраивает вариант Станислава С? Поймите, что нельзя сравнивать два действительных числа, даже если дебаггер показывает их как равные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2006, 00:33 |
|
||
|
Хелп непонятный глюк VBA!!!
|
|||
|---|---|---|---|
|
#18+
k-nikeЧем не устраивает вариант Станислава С? Поймите, что нельзя сравнивать два действительных числа, даже если дебаггер показывает их как равные. А как на счет If StrComp(Kred, OdDeb, 0) <> 0 Or StrComp(OdKred, Deb, 0) <> 0 Then Metka бинарное сравнение переменных Так можно делать или будет давать збой? Кажись работает нормально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2006, 09:54 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=34199515&tid=1346391]: |
0ms |
get settings: |
12ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 262ms |
| total: | 450ms |

| 0 / 0 |
