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

userform aktualisieren

Forumthread: userform aktualisieren

userform aktualisieren
08.01.2003 13:29:24
Andi
Hallo Leute,
wenn ich in einer Tabelle die aktive zelle wechsel soll ein userform eingeblendet werden (das geht auch) allerdings sollen die daten in der userform aktualisiert werden wenn ich eine andere zelle anklicke.
Bisher sieht dass so aus:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Main.Show
End Sub

was muss ich eingeben damit "main" bei "SelectionChange" auch aktualisiert wird?
Danke schon mal
Andi

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: userform aktualisieren
08.01.2003 13:40:12
Michael Scheffler
Hallo,

was meinst Du mit aktualisieren? Willlst Du neu zeichnen "Repaint" oder Werte ändern? Dann musst Du mit der richtigen Referenzierung, den Value oder was auch immer ändern. Das hängt vom Typ Deines Controls ab.

Gruß

Micha

Re: userform aktualisieren
08.01.2003 13:49:08
Andi
z.b. stehen in spalte "A" namen die in der userform mit einem bezeichnungsfeld (mit caption blablabla) angezeigt werden. wenn ich jetzt die zelle wechsel (z.b. von "C5 auf "C9") soll sich der name auch ändern.
verstehst du was ich meine?
Anzeige
Re: userform aktualisieren
08.01.2003 13:50:35
L.Vira
Nur sinnvoll, wenn userform nicht modal angezeigt wird:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If UserForm1.Visible = False Then
UserForm1.Show
Else
Unload UserForm1
UserForm1.Show
End If
End Sub
Re: userform aktualisieren
08.01.2003 14:13:52
Michael Scheffler
Hallo,

dann musst Du in den sauren Apfel beißen, Form heißt frmTest:
frmTest.lblBla1 = Cells(1,1)
frmTest.lblBla2 = Cells(2,1)

Usw.

Gruß

Micha

Anzeige
;
Anzeige

Infobox / Tutorial

Userform in Excel VBA aktualisieren


Schritt-für-Schritt-Anleitung

Um eine Userform in Excel VBA zu aktualisieren, wenn sich die aktive Zelle ändert, kannst du den folgenden Code verwenden. Dieser Code muss in das Modul des Arbeitsblatts eingefügt werden, für das du die Aktualisierung der Userform möchtest:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("A:A")) Is Nothing Then
        ' UserForm anzeigen, wenn sie nicht sichtbar ist
        If Not UserForm1.Visible Then
            UserForm1.Show
        End If

        ' Aktualisiere die Labels der Userform mit Werten aus der Tabelle
        UserForm1.lblBla1.Caption = Cells(Target.Row, 1).Value
        UserForm1.lblBla2.Caption = Cells(Target.Row + 1, 1).Value
    End If
End Sub

In diesem Beispiel wird die Userform UserForm1 aktualisiert, indem die Werte aus der Spalte A angezeigt werden. Wenn du eine Zelle in der Spalte A auswählst, wird die Userform eingeblendet und die Labels aktualisiert.


Häufige Fehler und Lösungen

  • Fehler: Die Userform wird nicht angezeigt oder aktualisiert.

    • Lösung: Stelle sicher, dass die Userform nicht modal ist. Verwende den Code UserForm1.Show vbModeless, um die Userform nicht modal anzuzeigen.
  • Fehler: Die Labels zeigen nicht die richtigen Werte an.

    • Lösung: Überprüfe die Referenzen in deinem Code. Stelle sicher, dass die Cells-Funktionen auf die richtigen Zellen verweisen.

Alternative Methoden

Eine alternative Methode, um die Userform zu aktualisieren, besteht darin, die Refresh-Methode zu verwenden. Dies kann hilfreich sein, wenn du komplexe Daten oder Steuerelemente hast, die aktualisiert werden müssen:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If UserForm1.Visible Then
        UserForm1.Refresh
        UserForm1.lblBla1.Caption = Cells(Target.Row, 1).Value
    End If
End Sub

Mit dieser Methode kannst du sicherstellen, dass die Userform immer die neuesten Daten anzeigt.


Praktische Beispiele

Hier sind einige praktische Beispiele für die Verwendung des Codes zum Aktualisieren der Userform:

  1. Anzeige von Mitarbeiterdaten: Wenn du eine Liste von Mitarbeitern in Spalte A hast, kannst du die Userform so anpassen, dass sie Informationen wie Name, Position und Abteilung anzeigt.

  2. Dynamische Diagramme: Du kannst die Userform verwenden, um Diagramme zu aktualisieren, je nachdem, welche Daten du auswählst.


Tipps für Profis

  • Nutze die Option Explicit-Anweisung am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.
  • Wenn du viele Steuerelemente in deiner Userform hast, überlege, wie du die Performance verbessern kannst, indem du nur die tatsächlich sichtbaren Steuerelemente aktualisierst.
  • Experimentiere mit UserForm1.Repaint, um die Darstellung der Userform zu optimieren, falls es Probleme mit der Visualisierung gibt.

FAQ: Häufige Fragen

1. Wie kann ich die Userform bei jedem Zellwechsel aktualisieren?
Du kannst den Worksheet_SelectionChange-Ereignis verwenden, um die Userform bei jedem Zellwechsel zu aktualisieren, wie im obigen Beispiel gezeigt.

2. Kann ich mehrere Userforms gleichzeitig aktualisieren?
Ja, du kannst mehrere Userforms aktualisieren, indem du zusätzliche Referenzen innerhalb des Worksheet_SelectionChange-Ereignisses hinzufügst.

3. Was bedeutet es, eine Userform modal oder nicht modal zu zeigen?
Eine modale Userform blockiert die Interaktion mit anderen Fenstern, bis sie geschlossen wird. Eine nicht modale Userform erlaubt die Interaktion mit anderen Fenstern, während sie geöffnet ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige