Re: Excel VBA kérdés

Topybear topybear at chello.hu
Thu Jan 19 09:57:40 CET 2006


>Excel alatt VBA-ban irok és van egy ilyen hurok és feltétel vizsgálat
>hogy
>
>do
>     ......
>     .......
>     If Result = 10 Then
>         Exit Do
>     End If
>loop
>
>A Result az double és az a baj hogy sosem lép ki a hurokból.
>Hibakereso módban ha rálépek az if sorra és megnézem
>a Resultot a cursorral 10 -et ir ki, de mégsem lép az exit sorra.
>Mi lehet a gáz ? Sajnos most irogatok eloször viziló bézikben,
>úgyhogy lehet hogy én szúrok el valamit.
>Ja és a Result két double osztásának eredménye.



Ez az Excel tökéletlensége.

a = 0.000000000000001
b = 5.00000000000001

Do
     a = a + 5

     Result = a / b
    If Result = 2 Then
        Exit Do
    End If
Loop

Ez szintén nem fog kilépni. A a debugger szerint 
az elsõ körben 0.99999999 az érték, a második 
körben már 2, ám mégsem lép ki. Szvsz a debugger felkerekíti.. Ilyenkor egy
If Abs(Result - 2) < 0.0000001 Then
feltételvizsgálat segít. A tûrést úgy állítod be ahogy neked jó.

Topy





More information about the Elektro mailing list