Avatar billede jokerper Nybegynder
17. april 2007 - 18:25 Der er 12 kommentarer og
1 løsning

Hjælp til kode - If Or Then Else

Jeg har problemmer med denne kode:

Sættet går fra "I5" til "I24"

Private Sub CommandButton9_Click()
Worksheets("Lotto").Activate
If Range("I5") = 4 + 0 Or 4 + 1 Then
Worksheets("Trækninger").Activate
frmGevinst.TextBox27.Value = Range("M4")
Else
frmGevinst.TextBox27.Visible = False
End If

Worksheets("Lotto").Activate
If Range("I5") = 5 + 0 Or 5 + 1 Then
Worksheets("Trækninger").Activate
frmGevinst.TextBox27.Value = Range("K4")
Else
frmGevinst.TextBox27.Visible = False
End If

Worksheets("Lotto").Activate
If Range("I5") = 6 + 0 Then
Worksheets("Trækninger").Activate
frmGevinst.TextBox27.Value = Range("I4")
Else
frmGevinst.TextBox27.Visible = False
End If

Worksheets("Lotto").Activate
If Range("I5") = 6 + 1 Then
Worksheets("Trækninger").Activate
frmGevinst.TextBox27.Value = Range("G4")
Else
frmGevinst.TextBox27.Visible = False
End If

Worksheets("Lotto").Activate
If Range("I5") = 7 + 0 Then
Worksheets("Trækninger").Activate
frmGevinst.TextBox27.Value = Range("E4")
Else
frmGevinst.TextBox27.Visible = False
End If

Kan denne kode skrives mindre?
Avatar billede kabbak Professor
17. april 2007 - 22:29 #1
denne del:
Worksheets("Lotto").Activate
If Range("I5") = 4 + 0 Or 4 + 1 Then
Worksheets("Trækninger").Activate
frmGevinst.TextBox27.Value = Range("M4")
Else
frmGevinst.TextBox27.Visible = False
End If

Burde kunne forkortes til :

If Worksheets("Lotto").Range("I5") = 4 + 0 Or 4 + 1 Then
frmGevinst.TextBox27.Value = Worksheets("Trækninger").Range("M4")
Else
frmGevinst.TextBox27.Visible = False
End If

hvis det dur, gør ligesådan med resten
Avatar billede kabbak Professor
17. april 2007 - 22:35 #2
Du burde tjekke for 7 rigtige først, og så gå nedad, hvis så der er gevinst, så skal du exit sub, ellers vil din tekstboks blive skjult ved den næste if.

If Worksheets("Lotto").Range("I5") = 4 + 0 Or 4 + 1 Then
frmGevinst.TextBox27.Value = Worksheets("Trækninger").Range("M4")

exit sub' sådan mener jeg

Else
frmGevinst.TextBox27.Visible = False
End If
Avatar billede jokerper Nybegynder
17. april 2007 - 22:52 #3
Hej kabbak

Tror du overhovedet min metode virker?

Eller skal der noget andet til, fordi jeg syntes ikke rigtigt det virker.

Hvor skal koden helt stå
På userformen eller regnearket. Det er sådan at mit regneark selv henter lottotalene så tekstboxene skal bare dukke op hvis der er gevinst.
Håber du forstår mig.
Avatar billede kabbak Professor
17. april 2007 - 22:59 #4
Det eneste jeg er i tvivl om, er om f.eks. = 4 + 0 Or 4 + 1  ikke skal være = "4+0" Or "4+1", det skal det vlre hvis de står som tekst i feltet.
Avatar billede kabbak Professor
17. april 2007 - 23:02 #5
Jeg sidder ca. 1 time her endnu, du kan sende arket, så vil jeg kikke på det.

kabbak snabela tiscali dot dk
Avatar billede jokerper Nybegynder
17. april 2007 - 23:25 #6
Er sendt
Avatar billede kabbak Professor
18. april 2007 - 00:09 #7
jeg bliver ikke færdig i dag, jeg skal først finde ud af din kode og userforms

din  DTPicker opdateres sådan til dags dato

Private Sub UserForm_Activate()
DTPicker1 = Now()
End Sub
Avatar billede kabbak Professor
18. april 2007 - 22:52 #8
er sendt retur, koden blev:

Public Sub CommandButton9_Click()
    Dim Gevinst As Variant, T, I, X As String
    Gevinst = Worksheets("Trækninger").Range("E4:M4")
    For I = 5 To 24
        X = Worksheets("Lotto").Range("I" & I)
        Select Case X
        Case "7+0"
            Me.Controls("TextBox" & I + 22) = Gevinst(1, 1)
        Case "6+1"
            Me.Controls("TextBox" & I + 22) = Gevinst(1, 3)
        Case "6+0"
            Me.Controls("TextBox" & I + 22) = Gevinst(1, 5)
        Case "5+1"
            Me.Controls("TextBox" & I + 22) = Gevinst(1, 7)
        Case "4+1"
            Me.Controls("TextBox" & I + 22) = Gevinst(1, 9)
        Case "4+0"
            Me.Controls("TextBox" & I + 22) = Gevinst(1, 9)
        Case Else
            Me.Controls("TextBox" & I + 22) = "Nitter"
        End Select
    Next
End Sub


Jeg er ikke sikker på om det er det du søgte.
Avatar billede jokerper Nybegynder
19. april 2007 - 19:32 #9
Koden virker, men nej det var ikke præcis det jeg søgte.
Avatar billede jokerper Nybegynder
19. april 2007 - 19:33 #10
Men hvad de der + 22) det forstår jeg ikke helt?
Avatar billede kabbak Professor
19. april 2007 - 19:38 #11
det er fordi I starter ved 5 og den første tekstbox hedder TextBox27, så 5+22 giver 27
Avatar billede jokerper Nybegynder
22. april 2007 - 15:37 #12
Hej kabbak

Nu har jeg prøvet med de nye tal - og nej det er desværre ikke det som jeg søgte. Men jeg roder lidt videre med det for at finde en løsning, for tilfreds det skal jeg blive. ;) - med det kæmpe arbejde.
Avatar billede jokerper Nybegynder
28. april 2007 - 06:40 #13
lukket :(
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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