Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Multipage - aktuelle Page ermitteln

Forumthread: Multipage - aktuelle Page ermitteln

Multipage - aktuelle Page ermitteln
30.12.2003 15:40:26
Boris
Hi Leute,

habe ein Userform mit einer Multipage, die wiederum aus 6 Pages besteht.
Alle Pages sind gleich aufgebaut. Mit Klick auf einen OK-Button wird eine allgemeine Sub aufgerufen. Dieser Sub möchte ich als Variable den aktuellen Page-Namen mitgeben - nach diesem Motto:


Private Sub CommandButton1_Click()
Call Daten_Übernehmen (Me.MultiPage1.CurrentPage.Name)
End Sub


Das funktioniert so natürlich nicht. Wie geht es denn richtig?

Grüße Boris
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Multipage - aktuelle Page ermitteln
30.12.2003 15:46:22
ChrisL
Hi Boris


Private Sub CommandButton1_Click()
Call test(MultiPage1.Pages(MultiPage1.Value).Name)
End Sub


Sub test(MPName As String)
MsgBox MPName
End Sub


Die Prozedur "test" gehört in ein Standardmodul.

Gruss
Chris
Anzeige
Merci - funktioniert einwandfrei...
30.12.2003 15:52:40
Boris
Hi Chris,

danke für deine schnelle Antwort. Habe noch .Name durch .Caption ersetzt, da ich eben diese benötige (habe mich da falsch ausgedrückt) - aber es funktioniert einwandfrei.

Guten Rutsch!

Grüße Boris
Danke für die Rückmeldung
30.12.2003 16:01:25
ChrisL
... und happy new year

Chris
;
Anzeige

Infobox / Tutorial

Aktuelle Page in Excel VBA Multipage ermitteln


Schritt-für-Schritt-Anleitung

Um die aktuelle Page in einem Excel VBA Userform Multipage zu ermitteln, kannst Du die folgende Schritt-für-Schritt-Anleitung verwenden:

  1. Userform erstellen: Erstelle ein Userform in Excel und füge eine Multipage-Steuerung hinzu. Füge mindestens zwei Seiten (Pages) hinzu, um die Funktionalität zu testen.

  2. Button hinzufügen: Füge einen Button hinzu, der beim Klicken die aktuelle Page ermitteln soll.

  3. Code hinzufügen: Füge den folgenden VBA-Code in das Codefenster des Userforms ein:

    Private Sub CommandButton1_Click()
       Call test(MultiPage1.Pages(MultiPage1.Value).Name)
    End Sub
  4. Standardmodul erstellen: Erstelle ein neues Standardmodul, falls noch nicht vorhanden, und füge die folgende Prozedur hinzu:

    Sub test(MPName As String)
       MsgBox MPName
    End Sub
  5. Testen: Starte das Userform und wechsle zwischen den Pages. Klicke auf den Button, um den Namen der aktuellen Page anzuzeigen.


Häufige Fehler und Lösungen

  • Fehler: "Objekt erforderlich" beim Ausführen des Codes.

    • Lösung: Stelle sicher, dass die Multipage korrekt benannt ist und Du den richtigen Namen im Code verwendest.
  • Fehler: Der Name wird nicht korrekt angezeigt.

    • Lösung: Überprüfe, ob Du .Name oder .Caption verwendest. Falls Du die Beschriftung der Page benötigst, nutze .Caption.

Alternative Methoden

Eine alternative Methode zur Ermittlung der aktiven Page ist die Verwendung von ActivePage. Du kannst den Code wie folgt anpassen:

Private Sub CommandButton1_Click()
    Call test(MultiPage1.ActivePage.Name)
End Sub

Diese Methode ist einfacher und direkter, jedoch möglicherweise nicht in allen Excel-Versionen verfügbar.


Praktische Beispiele

Hier ist ein praktisches Beispiel, das die Anwendung der oben genannten Methoden zeigt:

Angenommen, Du hast ein Userform mit einer Multipage, die die Seiten "Details", "Einstellungen" und "Über" enthält. Wenn Du auf einen Button klickst, wird der aktuelle Name der Page angezeigt:

Private Sub CommandButton1_Click()
    Call test(MultiPage1.ActivePage.Caption)
End Sub

Sub test(MPName As String)
    MsgBox "Aktuelle Page: " & MPName
End Sub

Tipps für Profis

  • Verwendung von Enum: Verwende Enumerationen, um die Seiten besser zu verwalten und leserlicher zu gestalten.

  • Datenübergabe optimieren: Statt nur den Namen zu übergeben, kannst Du auch Daten von der aktuellen Page erfassen und an andere Subroutinen weitergeben.

  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um unerwartete Probleme während der Ausführung zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich den aktuellen Index der Page ermitteln?
Du kannst den Index mit MultiPage1.Value ermitteln, der den aktuell ausgewählten Page-Index zurückgibt.

2. Kann ich die aktive Page auch ohne einen Button ermitteln?
Ja, Du kannst den aktuellen Page-Namen in anderen Ereignissen wie Change oder Initialize des Userforms ermitteln.

3. Funktioniert dies in allen Excel-Versionen?
Die Grundfunktionen sollten in den meisten modernen Excel-Versionen funktionieren. Achte darauf, dass Du die korrekte Syntax verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige