Avatar billede wolfcastle Nybegynder
01. marts 2012 - 15:28 Der er 3 kommentarer

Problem i VBA

Hej,

Jeg er i gang med en opgave i VBA, som går ud på at kaste to terninger, hvor man vinder hvis man gætter øjenene på terningerne og taber hvis man ikke gør. Det man skal taste er indsats og gæt, og hvis man taber bliver indstatsen trukket fra bankbeholdingen og hvis man vinder bliver den lagt til. Mit problem er, at når man taber bliver indsatsen trukket fra bankbeholdningen som den skal, men når man vinder bliver bankbeholdningen = null. I den trejde sidste linje i koden herunder står der (nybank = bank + udfald), og det mærkelige er at f.eks bank = 500, udfald = -200, men nybank = emty. Nogle bud på hvad der er galt i koden.... 

Sub dd()

    valg = Range("h18").Value
    bet = Range("i18").Value
    bank = Range("h23").Value
   
    dice1 = Int((6 - 1 + 1) * rnd + 1)
    dice2 = Int((6 - 1 + 1) * rnd + 1)

    sumdice = dice1 + dice2
   
    If sumdice = valg Then
    udfald = sumdice * bet
    Else
    udfald = -bet
    nybank = bank + udfald
    End If
   
    Range("h23").Value = nybank
     
   
   
End Sub
Avatar billede tjacob Juniormester
01. marts 2012 - 15:44 #1
Det er en simpel fejl:

nybank får KUN tilskrevet værdi hvis sumdice=valg er falsk.

Du skal flytte linien: nybank = bank + udfald UDEN for If-sætningen, så den bliver eksekveret uanset udfaldet.
Avatar billede wolfcastle Nybegynder
01. marts 2012 - 15:46 #2
Hej tjacob,

det var du hurtigt om at spotte. Tak for svaret, jeg havde set mig alt for blind på koden til at jeg kunne se det. Mange tak....
Avatar billede tjacob Juniormester
01. marts 2012 - 17:22 #3
OK, så tillader jeg mig at lægge et svar.

/tjacob
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester