Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

SetFocus und blinkender Cursor

Betrifft: SetFocus und blinkender Cursor von: Modes
Geschrieben am: 04.11.2014 15:16:59

Hallo,

ich habe ein Formular, in welches mit einem Barcodescanner Zahlen eingegeben werden. Wenn das letzte Formularfeld gefüllt ist, sollen die Zahlen in die dahinter liegende Exceltabelle geschrieben werden, anschließend die Datei gespeichert und der Cursor soll wieder in das Textfeld 2 springen, damit ein weiterer "Datensatz" gescannt werden kann.

Es funktioniert bis auf das aktivieren des Cursors auch alles, dieses aktivieren treibt mir aber die Zornesröte ins Gesicht. Egal welche der zahlreichen Varianten ich versuche, es funzt nicht. Kann mir jemand weiterhelfen?

  • 
    Private Sub TextBox5_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    If i = 23 Then
    i = 0
    UserForm1.TextBox2.SetFocus
    
    Exit Sub
    Else
    End If
    
    i = 23
    
    If TextBox2 = "" Then
    MsgBox ("Bitte füllen Sie die Bestellnummer aus")
    TextBox2.BackColor = vbRed
    Exit Sub
    End If
    If TextBox3 = "" Then
    MsgBox ("Bitte füllen Sie die Bezeichnung aus")
    TextBox3.BackColor = vbRed
    Exit Sub
    End If
    If TextBox4 = "" Then
    MsgBox ("Bitte füllen Sie die Menge aus")
    TextBox4.BackColor = vbRed
    Exit Sub
    End If
    
    If TextBox5 = "" Then
    MsgBox ("Bitte füllen Sie die Behälternummer aus")
    TextBox4.BackColor = vbRed
    Exit Sub
    End If
    
    letztezeile = Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row
    
    
    neuezeile = letztezeile + 1
    
    Sheets("Tabelle1").Cells(neuezeile, 1) = TextBox1
    Sheets("Tabelle1").Cells(neuezeile, 2) = TextBox2
    Sheets("Tabelle1").Cells(neuezeile, 3) = TextBox3
    Sheets("Tabelle1").Cells(neuezeile, 4) = TextBox4
    Sheets("Tabelle1").Cells(neuezeile, 5) = TextBox5
    
    ThisWorkbook.Save
    
    
    TextBox2 = ""
    TextBox3 = ""
    TextBox4 = ""
    TextBox5 = ""
    
    TextBox2.BackColor = vbWhite
    TextBox3.BackColor = vbWhite
    TextBox4.BackColor = vbWhite
    TextBox5.BackColor = vbWhite
    
    TextBox2.SetFocus
    End Sub


  • da ich am Ende den Focus zu verschiebe, wird diese Sub zweimal durchlaufen, welches ich am Anfang mit dieser If Schleife unterbinde.

    Ich bin nach mehreren Stunden verzweifelter Suche etwas ratlos, wie ich hier eine Lösung finde und dankbar für Hinweise.

    Mit freundlichen Grüßen

    Steffen

      

    Betrifft: AW: SetFocus und blinkender Cursor von: Werner
    Geschrieben am: 04.11.2014 15:27:34

    Hallo Steffen,

    versuch mal folgendes: Setz den Focus erst in Textbox 3 und dann in Textbox 2.

    Gruß Werner


      

    Betrifft: AW: SetFocus und blinkender Cursor von: Werner
    Geschrieben am: 04.11.2014 15:29:11

    Hallo Steffen,

    versuch mal folgendes: Setz den Focus erst in Textbox 3 und dann in Textbox 2.

    Gruß Werner


      

    Betrifft: AW: SetFocus und blinkender Cursor von: Rudi Maintaire
    Geschrieben am: 04.11.2014 15:30:39

    Hallo,
    funzt z.B. so:

    Option Explicit
    Dim bolCode As Boolean
    Private Sub TextBox5_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
      If Not bolCode Then
        bolCode = True
        With Sheets(1).Cells(Rows.Count, 1).End(xlUp)
          .Offset(1, 0) = TextBox1
          .Offset(1, 1) = TextBox2
          .Offset(1, 2) = TextBox3
          .Offset(1, 3) = TextBox4
          .Offset(1, 4) = TextBox5
        End With
        TextBox2 = ""
        TextBox3 = ""
        TextBox4 = ""
        TextBox5 = ""
        TextBox2.SetFocus
        bolCode = False
      End If
    End Sub
    Gruß
    Rudi


      

    Betrifft: AW: SetFocus und blinkender Cursor von: Modes
    Geschrieben am: 04.11.2014 16:47:48

    Hallo Werner und Rudi,

    danke für eure schnellen Antworten. Leider führen beide Überlegungen nicht zum Ziel.

    Ich lade noch die komplette Datei (https://www.herber.de/bbs/user/93546.xlsm) hoch, vielleicht hilft dies bei einer Variantensuche.

    Danke nochmal

    Steffen


      

    Betrifft: Projekt geschützt owT von: Rudi Maintaire
    Geschrieben am: 04.11.2014 16:57:39




      

    Betrifft: AW: Projekt geschützt owT von: Steffen
    Geschrieben am: 05.11.2014 11:45:41

    Sorry,

    das PW ist 3101....

    Steffen


     

    Beiträge aus den Excel-Beispielen zum Thema "SetFocus und blinkender Cursor"