Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
684to688
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
684to688
684to688
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Set Focus geht nicht, warum?

Set Focus geht nicht, warum?
25.10.2005 18:40:15
Frank
Hallo Leute - kleines Problem:
Ich habe 20 textboxen in einer Userform.
Per Prozedur lade ich unterschiedlich viele davon mit Daten aus einem Tabellenblatt.
Nun möchte ich, dass die Userform angezeigt wird (show) und der Cursor sofort in die erste freie textbox springt (weil die ja noch leer ist und nun manuell befüllt werden soll).
Also von der Logik her wird natürlich zuerst die freie Zelle angewählt und dann die userform gezeigt.
Mit .SetFocus kann ich ja eine Box meiner Wahl ansteuern. Die ist aber nun mal nicht immer dieselbe.
Muss ich das in einer if-then-schleife abarbeiten lassen, oder hat jemand eine andere Idee?
Gruß
Frank

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Set Focus geht nicht, warum?
25.10.2005 19:23:39
Matthias
Hallo Frank,
wenn deine Textboxen so heißen: TextBox1, TextBox2, TextBox3, ...:

Private Sub UserForm_Initialize()
Const Max = 20
Dim i As Integer
For i = 1 To Max
If Me.Controls("Textbox" & i).Text = "" Then Exit For
Next i
If i > Max Then i = Max 'alle gefüllt
Me.Controls("Textbox" & i).SetFocus
End Sub

Gruß Matthias
Textboxen haben unterschiedliche Namen
25.10.2005 19:58:16
Frank
Hallo Matthias!
Meine Textboxen haben unterschiedliche Namen.
Das wird so dann wohl nicht funktionieren.
Noch ´ne andere Idee?
Gruß
Frank
AW: Textboxen haben unterschiedliche Namen
25.10.2005 20:49:03
Matthias
Hallo Frank,
Noch ´ne andere Idee?
ja:

Private Sub UserForm_Initialize()
Dim c As Control
For Each c In Me.Controls
If TypeName(c) = "TextBox" Then
If c.Text = "" Then
c.SetFocus
Exit Sub
End If
End If
Next c
End Sub

wie hier die Reihenfolge ist, kann ich aber nicht sagen.
Gruß Matthias
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige