Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: in userform textboxen aktualisieren

in userform textboxen aktualisieren
klausk
guten abend,
nach rainers/ramses tipps kam ich etwas weiter. jetzt stellt sich das problem, dass sich die UF2 nicht von selbst aktualisiert, ich muss sie wegdrücken und nochmals die schaltfläche auf der UF1 betätigen. ich gehe davon aus, dasss ich eh wild den code geschrieben habe, möchte man mir nachsehen.
https://www.herber.de/bbs/user/30963.xls
wäre schön, wenn man mir mal wieder weiterhelfen könnte
vielen dank
klausk
Anzeige
AW: in userform textboxen aktualisieren
12.02.2006 19:01:38
chris
Hallo,
vieleicht Hilft dir
Me.Repaint
AW: in userform textboxen aktualisieren
12.02.2006 19:08:47
klausk
hallo chris b,
vielen dank für den tipp, das geht schon mal, nur wie bekomme ich es hin, dass ich die schaltfläche DATEN ANZEIGEN in der UF1 betätige und sich die UF 2 mit den aktuellen Daten öffnet, irgendwo habe ich da einen denkfehler drin
danke schon mal
klaus k
Anzeige
AW: in userform textboxen aktualisieren
12.02.2006 19:13:03
chris
Sorry verstehe ich nicht.
öffnet doch dann das neue userform mit den Daten ?
AW: in userform textboxen aktualisieren
12.02.2006 19:15:06
chris
Oder meinst du das.
Versuch mal in deine zweite Userform das einzubauen obs dann kalppt so wie du möchtest.

Private Sub UserForm_Deactivate()
Unload Me
End Sub

Anzeige
AW: in userform textboxen aktualisieren
12.02.2006 19:24:30
klausk
leider gehts nicht so, wie ich es mir vorstelle. nach dem doppelklick in der uf1 auf den vorgang erscheint die kennnummer im entsprechenden textfeld, nach betätigung der schaltfläche daten anzeigen sollte die uf2 mit den "korrekten" daten erscheinen, klappt nur, wenn ich die uf2 wegdrücke und nochmals daten anzeigen drücke
Anzeige
AW: in userform textboxen aktualisieren
12.02.2006 19:30:51
Rene
Hallo!
Lade doch mal die Arbeitsmappe hoch, dann können wir uns das mal anschauen und bessere Hilfe geben.
Gruß, Rene
AW: in userform textboxen aktualisieren
12.02.2006 19:32:02
klausk
hallo rene,
die mappe ist in meiner ersten fragestellung, auch dir vielen dank
gruss
klausk
AW: in userform textboxen aktualisieren
12.02.2006 19:32:19
Josef
Hallo Klaus!
Du zeigst erst das UF und dann füllst du die Textboxen, da ist es aber schon zu spät!
Also erst füllen, dann zeigen;-))
Private Sub CommandButton1_Click()
With UserForm2
  .textboxlfdnr.Text = Cells(UserForm1.ListBox1.ListIndex + 5, 1).Text
  .TextBoxleistung.Text = Cells(UserForm1.ListBox1.ListIndex + 5, 3).Text
  .TextBox1.Text = Cells(UserForm1.ListBox1.ListIndex + 5, 2).Text
  .TextBox2.Text = Cells(UserForm1.ListBox1.ListIndex + 5, 4).Text
  .TextBox3.Text = Cells(UserForm1.ListBox1.ListIndex + 5, 5).Text
  .TextBox4.Text = Cells(UserForm1.ListBox1.ListIndex + 5, 6).Text
  .TextBox5.Text = Cells(UserForm1.ListBox1.ListIndex + 5, 7).Text
  .TextBox6.Text = Cells(UserForm1.ListBox1.ListIndex + 5, 8).Text
  .Show
End With
End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: in userform textboxen aktualisieren
12.02.2006 19:36:49
klausk
danke sepp,
sowie ein herzliches dankeschön an alle helfer in diesem tollen forum, nun geht das
schönen abend wünscht der klausk
;
Anzeige
Anzeige

Infobox / Tutorial

Userform Textboxen in Excel VBA aktualisieren


Schritt-für-Schritt-Anleitung

  1. Erstelle die UserForms: Du benötigst zwei UserForms, z.B. UserForm1 und UserForm2. UserForm1 wird verwendet, um Daten auszuwählen, und UserForm2 zeigt die Details an.

  2. Füge Steuerelemente hinzu: Platziere eine ListBox in UserForm1, um die Auswahl zu treffen, und TextBoxen in UserForm2, um die Daten anzuzeigen.

  3. Code zum Laden der Daten: Schreibe in der Schaltfläche „Daten anzeigen“ in UserForm1 den folgenden Code, um UserForm2 mit den aktuellen Daten zu füllen und anzuzeigen:

    Private Sub CommandButton1_Click()
       With UserForm2
           .TextBox1.Text = Cells(ListBox1.ListIndex + 5, 1).Text
           .TextBox2.Text = Cells(ListBox1.ListIndex + 5, 2).Text
           .Show
       End With
    End Sub
  4. Aktualisieren der UserForm: Um sicherzustellen, dass UserForm2 die neuesten Daten anzeigt, kannst du den Befehl Me.Repaint verwenden, um die UserForm zu aktualisieren.

  5. Schließe UserForm2: Um UserForm2 nach der Verwendung zu schließen, füge den folgenden Code in das Deaktivierungsereignis von UserForm2 ein:

    Private Sub UserForm_Deactivate()
       Unload Me
    End Sub

Häufige Fehler und Lösungen

  • Fehler: UserForm2 zeigt alte Daten an
    Lösung: Stelle sicher, dass die Daten in UserForm2 vor dem Anzeigen aktualisiert werden. Der Code sollte zuerst die TextBoxen füllen und dann UserForm2 anzeigen.

  • Fehler: UserForm schließt sich nicht richtig
    Lösung: Überprüfe, ob der Unload Me-Befehl im Deaktivierungsereignis korrekt platziert ist.


Alternative Methoden

Eine alternative Methode zur Aktualisierung ist die Verwendung von UserForm2.Hide anstelle von Unload Me. Dies ermöglicht es, UserForm2 zu verstecken und später wieder anzuzeigen, ohne die Daten erneut laden zu müssen. Beispiel:

Private Sub CommandButton1_Click()
    UserForm2.Hide
    ' Aktualisiere die TextBoxen hier
    UserForm2.Show
End Sub

Praktische Beispiele

Hier ist ein einfaches Beispiel, um die Funktionsweise zu verdeutlichen:

Private Sub CommandButton1_Click()
    With UserForm2
        .TextBox1.Text = Cells(1, 1).Value
        .TextBox2.Text = Cells(1, 2).Value
        .Show
    End With
End Sub

In diesem Beispiel wird UserForm2 mit den Werten aus den Zellen A1 und B1 gefüllt.


Tipps für Profis

  • Verwende Me.Repaint: Dieser Befehl kann nützlich sein, wenn du Dynamik in deiner UserForm benötigst, um sicherzustellen, dass alle visuellen Änderungen sofort angezeigt werden.

  • Fehlerbehandlung einfügen: Implementiere eine Fehlerbehandlung, um unerwartete Probleme beim Laden der Daten zu vermeiden.

  • Datenvalidierung: Stelle sicher, dass die ausgewählten Daten in der ListBox gültig sind, bevor du versuchst, sie in die TextBoxen zu laden.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die UserForms immer die aktuellen Daten anzeigen?
Verwende den Befehl Me.Repaint nach dem Aktualisieren der TextBoxen.

2. Was mache ich, wenn UserForm2 nicht richtig schließt?
Überprüfe den Code im Deaktivierungsereignis und stelle sicher, dass der Unload Me-Befehl korrekt implementiert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige