Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
380to384
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
380to384
380to384
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Multipage

Multipage
17.02.2004 11:33:40
Jan P
Hallo Forum,
es geht um VBA 6.0 und Excel 9.0.
Ich habe in einer UserForm ein MultiPage eingebunden, welches zwei Seiten/Reiter besitzt. In diesem Multipage sind 6 TextBoxes eingebunden - jeweils 3 auf jeder Seite des MultiPage. Hier gibt der Benutezr Werte ein und clickt danach einen CommandButton, wobei die Werte der TextBoxes ausgelesen werden und danach alle TextBoxes gelöscht werden. Wie kann ich nach Clicken des CommandButtons das MultiPage wieder automatisch so einstellen, daß die Seite 1 des MultiPage (also der Reiter 1)im Vordergrund steht?
Danke für die Hilfe...
Jan P

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Multipage
17.02.2004 11:49:40
Dieter Klemke
Hallo Jan,
um auf Page 1 zu schalten, schreibst du in die Click-Prozedur des CommandButtons
MultiPage1.Value = 0
MfG
Dieter
AW: Multipage
17.02.2004 12:13:02
Jan P
Danke! Hat prima geklappt - wenn VBA doch immer so einfach wäre....
AW: Multipage / Erg. Frage....
17.02.2004 12:20:01
Jan P
Hallo Dieter,
nun habe ich ja auf jedem Reiter des MultiPage jeweils drei TextBoxes. Kann ich festlegen, in welcher der TextBoxes der Cursor stehen soll bzw. kann ich vorgeben, mit welcher TextBox der Benutzer anfangen soll, Werte einzugeben? Auf Seite 1 soll das die oberste TextBox sein (Index1) und auf Seite 2 dann ebenfalls die oberste TextBox sein (Index 4). Die Eingabe in die TextBoxes wird überprüft, so daß keine Leereingaben möglich sind.
Dazu der ein Teil des Codes in der Sub CommandButton Click:
' Wechsel auf den ersten Reiter im Multipage
MultiPage1.Value = 0
' Fehlerüberprüfung auf leere Felder TextBoxes 5-7 und 10-12
If TextBox10.Text = "" Then
MsgBox "Eingabe unvollständig oder fehlerhaft!"
TextBox10.SetFocus
Exit Sub
End If
Hast Du da vielleicht eine Lösung parat?
Anzeige
mit rechts auf die Page - Aktivierreihenfolge oT
17.02.2004 12:40:47
Jonathan
AW: Multipage / Erg. Frage....
17.02.2004 14:08:19
Dieter Klemke
Hallo Jan,
wenn du dem Rat von Jonathan folgst und bei jeder Page die Aktivierreihenfolge so festlegst, dass die TextBox, die den Focus zuerst haben soll, auch an oberster Stelle steht, dann musst du nichts weiteres programmieren.
Falls du Probleme bei der Eingabeprüfung hast, musst du daran denken, dass SetFocus für eine TextBox nur funktioniert, wenn du vorher die zugehörige Page aktiviert hast.
Die Eingabeprüfung könnte z.B. so aussehen:

Private Sub btnOK_Click()
Dim ctl As Control
Dim pg As Page
For Each pg In MultiPage1.Pages
For Each ctl In pg.Controls
If TypeName(ctl) = "TextBox" Then
If ctl.Text = "" Then
MsgBox "Eingabe unvollständig oder fehlerhaft!"
MultiPage1.Value = pg.Index
ctl.SetFocus
Exit Sub
End If
End If
Next ctl
Next pg
' Werte der TextBoxen auslesen
' TextBoxen löschen
For Each ctl In Me.Controls
If TypeName(ctl) = "TextBox" Then
ctl.Text = ""
End If
Next ctl
' Page 1 aktivieren
MultiPage1.Value = 0
End Sub

MfG
Dieter
Anzeige
AW: Multipage / Erg. Frage....
17.02.2004 14:28:25
Jan P
Danke Euch beiden - es funktioniert!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige