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

Forumthread: Öffne Userform wenn Wert in Zelle

Öffne Userform wenn Wert in Zelle
05.06.2007 14:46:00
Rüdiger
Hallo,
ich habe folgendes Problem. Sobald in Zelle A1 der Wert "x" steht, soll sich meine userform "frm_vhcn" automatisch öffnen. Ich habe schon kürzlich folgendes Makro von einem netten Forum-User erhalten. Funktioniert auch, aber leider nicht dann, wenn sich in Zelle 1 eine Formel befindet, die "X" auswirft (zB. Formel = A2)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$36" Then
If Range("B36").Value = "X" Or Range("B36").Value = "X" Then frm_vhcn.Show
End If
End Sub


Kann mir jemand weiterhelfen? Vielen dank im Voraus. Gruß Rüdiger.

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Öffne Userform wenn Wert in Zelle
05.06.2007 14:53:00
Hajo_Zi
Hallo Rüdiger,
dann musst Du das Ereignis Private Sub Worksheet_Calculate() benuztze ind dort prüfen ob A1 ="X" ich würde das aber kombinieren mit einer Abfrage ob UserForm schon mal angezeigt. Ansonsten kommt Sie bei X immer.

Anzeige
AW: Öffne Userform wenn Wert in Zelle
05.06.2007 14:55:00
Rudi
Hallo,
natürlich geht das auch mit Formel. Du darfst nur nicht A1 auf Änderung abfragen.

Private Sub Worksheet_Change(ByVal Target As Range)
If LCase(Range("A1")) = "x" Then UserForm1.Show
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Öffne Userform wenn Wert in Zelle
05.06.2007 14:58:38
Hajo_Zi
Hallo Rudi,
mal einen kleinen Einwand, die Formel bezieht sich nicht auf die aktuelle Tabelle, Ist ein X in A1 wird die Userform nach jeder Änderung angezeigt.
Gruß Hajo

AW: Öffne Userform wenn Wert in Zelle
05.06.2007 15:17:00
Rüdiger
Hey, vielen Dank für die schnelle Hilfe.

Anzeige
AW: Öffne Userform wenn Wert in Zelle
05.06.2007 14:56:51
ralf
Hi Rüdiger,
meintest Du so?:
If Target.Address = "$A$1" Then
If UCase(Target.Value) = "X" Or Target.Formula = "=A2" Then frm_vhcn.Show
End If

AW: Öffne Userform wenn Wert in Zelle
05.06.2007 15:18:00
Rüdiger
Hey, vielen Dank für die schnelle Hilfe.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Userform automatisch öffnen, wenn Wert in Zelle A1 steht


Schritt-für-Schritt-Anleitung

Um eine Userform automatisch zu öffnen, sobald der Wert in Zelle A1 "X" ist, kannst du folgendes VBA-Makro verwenden. Dieses Makro sollte im Code-Modul des entsprechenden Arbeitsblatts eingefügt werden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Finde das Arbeitsblatt, in dem du die Userform öffnen möchtest (z.B. "Tabelle1").
  3. Doppelklicke auf das Arbeitsblatt, um das Code-Modul zu öffnen.
  4. Füge den folgenden Code ein:
Private Sub Worksheet_Calculate()
    If Range("A1").Value = "X" Then
        frm_vhcn.Show
    End If
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.

Jetzt wird die Userform frm_vhcn automatisch geöffnet, wenn der Wert in Zelle A1 "X" ist, auch wenn dieser Wert aus einer Formel stammt.


Häufige Fehler und Lösungen

  • Fehler: Die Userform öffnet sich nicht.

    • Lösung: Stelle sicher, dass das Makro im richtigen Arbeitsblattmodul eingefügt ist und dass die Formel in A1 tatsächlich "X" ergibt.
  • Fehler: Die Userform öffnet sich mehrfach.

    • Lösung: Füge eine Abfrage hinzu, um zu prüfen, ob die Userform bereits angezeigt wird:
Private Sub Worksheet_Calculate()
    If Range("A1").Value = "X" And Not frm_vhcn.Visible Then
        frm_vhcn.Show
    End If
End Sub

Alternative Methoden

Wenn du eine andere Methode ausprobieren möchtest, kannst du auch das Worksheet_Change-Ereignis verwenden. Allerdings funktioniert dies nur, wenn der Wert in A1 manuell geändert wird. Hier ein Beispiel:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        If UCase(Target.Value) = "X" Then
            frm_vhcn.Show
        End If
    End If
End Sub

Diese Methode ist nützlich, wenn du sicherstellen möchtest, dass die Userform nur bei manuellen Änderungen geöffnet wird.


Praktische Beispiele

Angenommen, in Zelle A2 steht eine Formel, die den Wert in A1 beeinflusst. Wenn du also A2 änderst und A1 dadurch "X" ergibt, wird die Userform angezeigt. Stelle sicher, dass du die richtige Logik in den Code implementierst, um diese Funktionalität zu gewährleisten.

Private Sub Worksheet_Calculate()
    If Range("A1").Value = "X" Then
        frm_vhcn.Show
    End If
End Sub

Tipps für Profis

  1. Verwende das Worksheet_Calculate-Ereignis, um sicherzustellen, dass die Userform bei Änderungen durch Formeln korrekt reagiert.
  2. Füge eine Bedingung hinzu, um zu verhindern, dass die Userform mehrfach geöffnet wird.
  3. Teste dein Makro gründlich, um sicherzustellen, dass es unter allen Umständen funktioniert.

FAQ: Häufige Fragen

1. Frage Wie kann ich das Öffnen der Userform bei anderen Werten in Zelle A1 steuern?

Antwort: Du kannst die Bedingungen im VBA-Code anpassen, indem du die If-Bedingungen entsprechend änderst.

2. Frage Funktioniert dieses Beispiel in jeder Excel-Version?

Antwort: Ja, das Beispiel ist in den meisten aktuellen Excel-Versionen anwendbar, solange VBA unterstützt wird.

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