Avatar billede alex_sleiborg Nybegynder
07. august 2005 - 23:05 Der er 4 kommentarer og
2 løsninger

Goto eller noget smartere

Jeg skal lave noget i VBA. Det fungerer fint nok, vil bare lige høre om det er den rigtige måde og gøre det på. Eller der er en smartere måde

Det jeg har lavet er, man skal vælge et tal mellem 1 og 4. Og vælger man ikke det, skal der komme en fejl meddelelse og man skal så trykke 1 til 4 igen.

Her er lidt kode

A = InputBox("Velkommen til ohm Lommeregneren" & vbCrLf & "Vælg hvad du vil have regnet ud" & vbCrLf & "1. Effekt" & vbCrLf & "2. Strøm" & vbCrLf & "3. Spænding" & vbCrLf & "4. Modstand")
    If A > 4 Then MsgBox " Du skal skrive et tal imellem 1-4!", vbCritical

Men så forsætter den jo bare med og køre resten af koden? Skal jeg sætte en Goto ind? Eller er der en smartere måde, for ens kode kan vel hurtigt blive noget roderi, hvis man har for mange Goto
Avatar billede medions Nybegynder
07. august 2005 - 23:13 #1
Du kan jo bruge "Select Case", dette ville gøre det noget mere overskueligt...

//>Rune
Avatar billede alex_sleiborg Nybegynder
07. august 2005 - 23:17 #2
Bruger også en Select Case

Select Case A
           
      Case 1
      Case 2
      Case 3
      Case 4
End Select

Men det er ikke, der er problemet. Men hvis nu bruger taster 345, så skal der komme en fejl meddelelse og man skal vælge et tal imellem 1-4
Avatar billede medions Nybegynder
07. august 2005 - 23:24 #3
Ahh, jamen så er det den korrekte måde du gør det på... Næsten da... du skal skrive:
If A => 4 Then
MsgBox (" Du skal skrive et tal imellem 1-4!", vbCritical)

//>Rune
Avatar billede alex_sleiborg Nybegynder
08. august 2005 - 07:04 #4
Ja den er også god nok. Men den viser jo bare en MsgBox, og så forsætter den bare med og afvikle koden
Avatar billede alex_sleiborg Nybegynder
08. august 2005 - 10:37 #5
Den virker med en Do while løkke

Do
    A = InputBox("Velkommen til ohm Lommeregneren" & vbCrLf & "Vælg hvad du vil have regnet ud" & vbCrLf & "1. Effekt" & vbCrLf & "2. Strøm" & vbCrLf & "3. Spænding" & vbCrLf & "4. Modstand")
    If A > 4 Then MsgBox " Du skal skrive et tal imellem 1-4!", vbCritical
    Loop While A > 4

Så nu kører den det stykke igen og igen indtil man har tastet et tal imellem 1-4. Men hvis man taster 0, skal den også køre løkken igen. Hvordan ordner jeg lige det
Avatar billede alex_sleiborg Nybegynder
08. august 2005 - 10:39 #6
Laver bare en Loop While A > 4 & A = 0
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