Avatar billede denero Juniormester
19. april 2012 - 14:32 Der er 5 kommentarer og
1 løsning

Set Focus

Ved indtastning af et nummer I en tekstboks på userform1, som allerede findes I kolonne B ark1, kommer userform2 med en fejlmelding. Der trykkes på OK og så vil jeg gerne have tømt textBox1 og have sat fokus i denne altså på userform1. Ved tomme celler skal der ikke komme en fejlmelding.

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Sheets("Ark1").Select
    Dim rngCell As Range
    Dim bMatch As Boolean
    Dim vVal
   
    vVal = TextBox1
    bMatch = WorksheetFunction.CountIf(Range("B2:B100"), vVal) > 0
   
    'Hvis nummer er brugt
    UserForm2.Show
Private Sub Ok_Click()
Unload Me
TextBox1.SetFocus
End Sub
Avatar billede store-morten Ekspert
19. april 2012 - 21:46 #1
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Sheets("Ark1").Select
    Dim rngCell As Range
    Dim bMatch As Boolean
    Dim vVal
   
    vVal = TextBox1
    bMatch = WorksheetFunction.CountIf(Range("B2:B100"), vVal) > 0
   
        If bMatch = True Then
        TextBox1 = ""
        UserForm2.Show
        End If
End Sub


Kan ikke få det med TextBox1.SetFocus til at du!!!
Avatar billede store-morten Ekspert
19. april 2012 - 22:06 #2
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Sheets("Ark1").Select
    Dim rngCell As Range
    Dim bMatch As Boolean
    Dim vVal
   
    vVal = TextBox1
    bMatch = WorksheetFunction.CountIf(Range("B2:B100"), vVal) > 0
   
        If bMatch = True Then
        TextBox1 = ""
        UserForm2.Show
        End If
End Sub
Avatar billede denero Juniormester
20. april 2012 - 09:47 #3
Ved at indsætte "Cancel.Value = True" holder den focus i den aktuelle textbox, men der er stadig fejlmelding, hvis boksen er tom, når man forlader den.Hvorledes ser man bort fra tomme celler?



Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Sheets("Ark1").Select
    Dim rngCell As Range
    Dim bMatch As Boolean
    Dim vVal
   
    vVal = TextBox1
    bMatch = WorksheetFunction.CountIf(Range("B2:B100"), vVal) > 0
   
        If bMatch = True Then
        Cancel.Value = True
        TextBox1 = ""
        UserForm2.Show
        End If
End Sub
Avatar billede denero Juniormester
20. april 2012 - 11:31 #4
Har måske fundet ud af det ved at indsætte :

And vVal > ""

Det ser ud til at virke.
   


Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Sheets("Ark1").Select
    Dim rngCell As Range
    Dim bMatch As Boolean
    Dim vVal
   
    vVal = TextBox1
    bMatch = WorksheetFunction.CountIf(Range("B2:B100"), vVal)> 0 And vVal > ""
   
   
        If bMatch = True Then
        Cancel.Value = True
        TextBox1 = ""
        UserForm2.Show
        End If
End Sub
Avatar billede store-morten Ekspert
20. april 2012 - 13:18 #5
Ja, det virker ;-)
Avatar billede denero Juniormester
21. april 2012 - 07:56 #6
Tak for hjælpen!
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