Avatar billede lerskov Praktikant
23. februar 2009 - 14:36 Der er 10 kommentarer og
1 løsning

textbox1.setfocus ???

Hej Alle.

jeg har en textbox som jeg gerne vil set i focus, hvis der er fejl i den. Desværre vælger den ikke den rigtige med funktionen
me.textbox1.setfocus. Kan det evt, skyldes at textbox1 har en sub der hedder "_afterupdate()" ??

Håber nogle kan hjælpe.
Avatar billede excelent Ekspert
24. februar 2009 - 14:27 #1
koden me.textbox1.setfocus er rigtig nok
men den står formentlig blot det forkerte sted
Avatar billede lerskov Praktikant
24. februar 2009 - 14:36 #2
Koder der sådan ud.

Den kalder functionen beregn, og laver en fejl(planlagt).
den sætter textbox2 = "" og returnere til sub.

Her godkender den if sætningen, med et ja. Burde jo så udfører, textbox1.setfocus. Det sker bare ikke.

Private Sub TextBox1_Afterupdate()
Call beregn
If TextBox2 = "" Then
Me.TextBox1.SetFocus
End If
End Sub
Avatar billede excelent Ekspert
24. februar 2009 - 14:53 #3
indsæt denne nederst i sub beregn

if me.TextBox2="" then msgbox "ok"

hvis du ikke får beskeden ok, er tb2 ikke tom
Avatar billede lerskov Praktikant
24. februar 2009 - 15:02 #4
Ja, så får jeg "Desværre" msgbox "ok" op på skærmen.
Avatar billede excelent Ekspert
24. februar 2009 - 15:16 #5
udskift denne med ovenstående i beregn

if me.TextBox2="" then UserForm1.TextBox1.SetFocus

ret evt userform1 til aktuel
Avatar billede lerskov Praktikant
24. februar 2009 - 15:24 #6
Det giver stadig problemer. Den bliver ved med at sætte textbox2 i fokus.
-------------------------------
Private Sub TextBox1_Afterupdate()

Call beregn
If userform1.TextBox2 = "" Then
userform1.TextBox1.SetFocus
End If

End Sub

Private Function beregn()
Dim TempDate As Date



If TextBox1 < 1 Or TextBox1 > 53 Then
MsgBox "Forkert ugenummer"
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
Exit Function
Else
If TextBox1 > 1 And TextBox1 < 9 Then
If Len(Trim(TextBox1)) <> 2 Then
TextBox1 = "0" & TextBox1
End If
End If
End If
Avatar billede excelent Ekspert
24. februar 2009 - 20:12 #7
Jeg kan ikke få textbox1 aktiv når en msgbox anvendes
Prøv om du kan bruge denne løsning i stedet
Udskift denne med dine 2 koder
Bemærk at koden tester når TextBox2 aktiveres

Private Sub TextBox2_Enter()
Me.TextBox1.Text = Format(Me.TextBox1.Text, "00")
If TextBox1 < 1 Or TextBox1 > 53 Then
TextBox1 = "Forkert ugenummer"
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
TextBox1.SetFocus
Beep
End If
End Sub
Avatar billede lerskov Praktikant
03. marts 2009 - 11:02 #8
Hej Excelent.

Det giver desværre stadig problemer. Nu sætter den textbox3 i fokus.

Deværre.
Avatar billede excelent Ekspert
26. marts 2009 - 17:57 #9
Prøv send filen, eller et eks.
Avatar billede lerskov Praktikant
15. april 2009 - 20:18 #10
Jeg har ikke fået kigget på det længe, du får point for forsøget. Og jeg opretter et nyt spørgsmål, når jeg vender tilbage til sagen... tak for hjælpen.
Avatar billede lerskov Praktikant
07. februar 2011 - 11:16 #11
lukker
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