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

Inhalt sichtbare Textbox kopieren

Forumthread: Inhalt sichtbare Textbox kopieren

Inhalt sichtbare Textbox kopieren
13.05.2008 08:31:19
Wolfgang
Hallo,
Ich habe eine Userform mit mehreren Pages (Seiten).
Auf jeder Seite ist eine Textbox so das immer nur eine Textbox sichtbar ist.
Unterhalb der Pages habe ich ein CommandButton.
Ich möchte jetzt folgendes machen, der Inhalt der sichtbaren Textbox soll per CommandButton in eine anderen UF/Textbox kopiert werden.
Mein Problm ist wie spreche ich immer nur sichtbare Textbox an, um nur deren Inhalt zu Kopieren?
Gruß Wolfgang

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Inhalt sichtbare Textbox kopieren
13.05.2008 09:21:00
Beverly
Hi Wolfgang,
verwende die Tageigenschaft der MultiPage

Option Explicit
Private Sub CommandButton1_Click()
MsgBox MultiPage1.Pages(Left(MultiPage1.Tag, 5)).Controls("TextBox" & Right(MultiPage1.Tag,  _
1))
End Sub
Private Sub TextBox1_Change()
MultiPage1.Tag = "Page1;1"
End Sub
Private Sub TextBox2_Change()
MultiPage1.Tag = "Page2;2"
End Sub




Anzeige
AW: Inhalt sichtbare Textbox kopieren
13.05.2008 12:40:00
Wolfgang
Hallo Karin,
danke für den Ansatz.
Ich habe das mal in einer Testdatei nach gebaut und es funktioniert.
Aber es muß immer erst eine Änderung in der aktuelle Textbox vorgenommen werden.
Besser wäre es natürlich wenn der schon vorhandene Inhalt der Textbox gleich angezeigt werden würde.
Gibt es da noch eine Möglichkeit?
Danke und Gruß Wolfgang

Anzeige
AW: Inhalt sichtbare Textbox kopieren
13.05.2008 16:27:50
Beverly
Hi Wolfgang,
sorry, du hattest geschrieben, dass du einen CommandButton hast und da nahm ich an, dass du den Inhalt mit dem CommanButton übertragen willst. Mit "gleich anzeigen" meinst du, dass beim Wechseln der Page angezeigt werden soll?

Private Sub MultiPage1_Change()
If MultiPage1.SelectedItem.Name = "Page1" Then
MsgBox TextBox1
Else
MsgBox TextBox2
End If
End Sub


Wenn doch erst beim Drücken des CommandButtons, dann so


Private Sub CommandButton1_Click()
If MultiPage1.SelectedItem.Name = "Page1" Then
MsgBox TextBox1
Else
MsgBox TextBox2
End If
End Sub




Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Inhalt sichtbare Textbox kopieren


Schritt-für-Schritt-Anleitung

Um den Inhalt einer sichtbaren Textbox in einer UserForm zu kopieren, kannst du den folgenden VBA-Code verwenden. Dieser Code geht davon aus, dass du bereits eine UserForm mit einer MultiPage und mehreren Textboxen erstellt hast.

  1. Öffne den VBA-Editor in Excel mit ALT + F11.
  2. Füge eine UserForm hinzu, falls du noch keine hast.
  3. Füge eine MultiPage und mehrere Textboxen hinzu (z.B. TextBox1, TextBox2).
  4. Füge einen CommandButton hinzu, um den Kopiervorgang auszulösen.
  5. Verwende den folgenden Code im Code-Editor der UserForm:
Option Explicit

Private Sub CommandButton1_Click()
    Dim visibleText As String

    ' Überprüfe, welche Seite sichtbar ist und hole den Text
    If MultiPage1.SelectedItem.Name = "Page1" Then
        visibleText = TextBox1.Text
    Else
        visibleText = TextBox2.Text
    End If

    ' Hier kannst du den Text in eine andere TextBox oder Variable kopieren
    MsgBox visibleText ' Beispiel: Zeige den Text in einer MsgBox an
End Sub

Private Sub MultiPage1_Change()
    ' Optional: Zeige den aktuellen Text beim Seitenwechsel
    If MultiPage1.SelectedItem.Name = "Page1" Then
        TextBox1.SetFocus
    Else
        TextBox2.SetFocus
    End If
End Sub

Häufige Fehler und Lösungen

  • Fehler: Der Inhalt wird nicht angezeigt.

    • Lösung: Stelle sicher, dass du den richtigen Namen der Textbox verwendest, die du ansprechen willst. Überprüfe auch, ob die MultiPage korrekt konfiguriert ist.
  • Fehler: Der Code funktioniert nur nach Änderungen.

    • Lösung: Füge den Code im MultiPage1_Change()-Ereignis hinzu, um den Inhalt beim Wechsel der Seite anzuzeigen, wie im Schritt zuvor beschrieben.

Alternative Methoden

Falls du eine andere Möglichkeit suchst, um den Inhalt einer sichtbaren Textbox zu kopieren, kannst du auch die Pages-Eigenschaft der MultiPage verwenden oder den Inhalt direkt in eine Zelle einer Excel-Tabelle übertragen.

Worksheets("Tabelle1").Range("A1").Value = TextBox1.Text

Mit dieser Methode kannst du den Inhalt der Textbox in eine Excel-Zelle kopieren.


Praktische Beispiele

  1. Kopieren des Inhalts in eine andere TextBox:
Private Sub CommandButton1_Click()
    If MultiPage1.SelectedItem.Name = "Page1" Then
        TextBox3.Text = TextBox1.Text ' Kopiere Inhalt von TextBox1 zu TextBox3
    Else
        TextBox3.Text = TextBox2.Text ' Kopiere Inhalt von TextBox2 zu TextBox3
    End If
End Sub
  1. Anzeigen der Zeichenanzahl in einer TextBox:
Private Sub TextBox1_Change()
    Label1.Caption = "Zeichenanzahl: " & Len(TextBox1.Text)
End Sub

Hierbei wird die Zeichenanzahl in einem Label angezeigt, während du in der TextBox schreibst.


Tipps für Profis

  • Nutze die Tag-Eigenschaft der MultiPage, um den aktuellen Status oder Wert zu speichern, damit du beim Seitenwechsel schneller darauf zugreifen kannst.
  • Verwende Option Explicit, um sicherzustellen, dass alle Variablen deklariert sind. Das hilft dir, Fehler im Code frühzeitig zu erkennen.
  • Experimentiere mit der pages zeichenanzahl einblenden-Funktion, um eine bessere Benutzererfahrung zu bieten.

FAQ: Häufige Fragen

1. Wie kann ich den Inhalt der Textbox direkt beim Seitenwechsel anzeigen?
Du kannst den Code im MultiPage1_Change()-Ereignis verwenden, um den Inhalt der Textbox anzuzeigen, sobald du die Seite wechselst.

2. Was mache ich, wenn ich mehrere Seiten habe?
Du kannst die If...Else-Bedingungen erweitern, um den Inhalt der entsprechenden Textbox je nach ausgewählter Seite zu kopieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige