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

Pop Up Fenster einblenden lassen

Forumthread: Pop Up Fenster einblenden lassen

Pop Up Fenster einblenden lassen
11.12.2003 11:12:04
Fred
Hallo Leute,
ich habe mal folgendes Problem:
Ich habe eine Tabelle aufgebaut, bei der Excel prüfen soll ob durch einen User in eine Zelle das Merkmal "R" eingetragen wurde. Wenn dem so ist, dann soll ein Fenster eingeblendet werden, dass dem User ermöglichen soll eine ergänzende Info zu schreiben, die später als Kommentar zur Zelle gespeichert wird.

Solange der User den Eintrag manuell vornimmt funktioniert es auch. Ich habe für die Tabelle jedoch die Funktion der Daten-Gültigkeitskriterien eingerichtet, so dass der User alternativ auch aus einer Liste die Eintragungsmöglichkeiten für die Zelle auswählen kann. Nutzt der User diesen Weg - was eigentlich Standard sein soll -, dann wird das von mir programmierte Fenster zur ergänzenden Info nicht hochgeblendet.

Kann mir da jemand weiterhelfen?
Hier meine VBA Routine:


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range(Cells(7, 6), Cells(372, 25))) Is Nothing Then
If Target.Count = 1 Then
If Target = "R" Then
Zelle = Target.Address
UserForm1.Show
Else
ActiveSheet.Unprotect
With Target.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$FD$67:$FD$72"
.InputTitle = ""
.InputMessage = ""
End With
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
Else
MsgBox "Mehrfachauswahl nicht gestattet. Bitte nur 1 Eintrag zurzeit löschen", 48, "Hinweis"
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
End If
End Sub


Vielen Dank im Voraus
Fred
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Gültigkeit und Change-Ereignis = Bug unter xl97
11.12.2003 11:41:23
Boris
Hi Fred,

das ist ein klassischer (bekannter) Bug unter xl97:
Die Auswahl aus einer Gültigkeitsliste, deren Quelle irgendwo im Tabellenblatt verankert ist, löst das Worksheet_Change_Ereignis NICHT aus.

Wenn die Listenauswahl nicht zu lang ist, dann funktioniert es, wenn die gültigen Einträge bei Daten-Gültigkeit-Liste unter "Quelle" DIREKT - mit Semikoln getrennt - eingegeben werden. Dann wird das Change-Ereignis wiederum angestoßen.

Grüße Boris
Anzeige
AW: Gültigkeit und Change-Ereignis = Bug unter xl97
11.12.2003 12:29:54
Fred
Hallo Boris,
ich habs versucht in der Gültigkeits-Quelle jetzt nur mal die Werte selbst hart reinzuschreiben, anstatt die Listadresse. Das hat leider zu keinem Erfolg geführt....grrr
Was mache ich da falsch?
Vor allem habe ich dann noch das Problem, dass wenn ein Eintrag mit der ENTF Taste gelöscht wurde, auch der Kommentar dazu gelöscht werden soll. Ich habe das mit dem Abschnitt

ActiveSheet.Unprotect
With Target.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$FD$67:$FD$72"
.InputTitle = ""
.InputMessage = ""
End With
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

gelöst. Wie du sehen kannst wird hier die Gültigkeits-Liste wieder als Merkmal für die Zelle gesetzt. Wenn ich Statt der Listadresse "=$FD$67:$FD$72" die Listeinträge selbst, getrennt durch Semikolon angebe, dann erscheinen in der Listauswahl bei der Zelle keine Liste sondern z.B. U;R;AZV also genau so, wie es in der VBA Routine drinne steht...

HILFEEEEE !!!

FRed
Anzeige
Makro mal eben aufgezeichnet
11.12.2003 12:36:06
Boris
Hi Fred,

das sieht dann so aus (gültige Einträge: A,B, und C):


Sub Makro2()
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="A;B;C"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub


Und das Change-Ereignis klappt.

Grüße Boris
Anzeige
AW: Makro mal eben aufgezeichnet
11.12.2003 13:38:57
Fred
Es muss wohl an meiner Excel Version liegen. Bei mir funktioniert es nicht. Die Listbox zeigt anstatt

A
B
C

bei mir dann immer

A;B;C

Shit!

Fred
Keine weitere Erklärung dafür...
11.12.2003 21:58:52
Boris
Hi Fred,

vielleicht nur: Nutzt du ne andere Ländereinstellung? Denn Semikolon ist woanders Punkt und umgekehrt...

Grüße Boris
Anzeige
AW: Keine weitere Erklärung dafür...
12.12.2003 11:29:03
Fred
Hallo Boris,
vielen Dank, dass du dir so viele Gedanken um mein Problem gemacht hast. Ich habe das jetzt mal auf einem anderen Rechner hier bei uns in der Firma ausprobiert, mit dem gleichen negativen Erfolg.
Dein Hinweis mit der Ländereinstellung ist berechtigt, trifft für mich aber leider nicht zu... snief. Daran hatte ich auch schon mal zu knapsen gehabt vor einiger Zeit.
Ich werde wohl mit diesem Makel so lange leben müssen, bis hier in unserer Firma ein neues Excel ausgerollt wird. Bei 200.000 usern wirds allerdings noch etwas dauern....
Gruß
Fred
Anzeige
noch offen
11.12.2003 11:45:45
GerdW
Das Problem ist, dass das Change- Ereignis bei Auswahl aus dem
Zelldropdown unter Excel 97 nicht auftritt. Mir ist da auch kein
workaround bekannt.

Gerd
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Pop Up Fenster in Excel einblenden


Schritt-für-Schritt-Anleitung

Um ein Excel Pop Up Fenster zu erstellen, das beim Eintragen eines bestimmten Wertes in eine Zelle erscheint, kannst Du die folgende Anleitung befolgen. Diese Methode verwendet VBA:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle das entsprechende Arbeitsblatt aus, für das Du das Pop Up Fenster einblenden möchtest.

  3. Füge den folgenden Code in das Code-Fenster ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Range("F7:F372")) Is Nothing Then
           If Target.Count = 1 Then
               If Target = "R" Then
                   UserForm1.Show
               End If
           End If
       End If
    End Sub
  4. Erstelle ein UserForm (z.B. UserForm1), das die Eingabemaske für den Kommentar darstellt.

  5. Schließe den VBA-Editor und teste die Funktion, indem Du in die Zellen der festgelegten Range "R" eingibst.


Häufige Fehler und Lösungen

  • Problem: Das Pop Up Fenster erscheint nicht, wenn der Wert aus einer Gültigkeitsliste ausgewählt wird.

    • Lösung: In Excel 97 tritt ein Bug auf, bei dem die Auswahl aus einer Gültigkeitsliste das Worksheet_Change-Ereignis nicht auslöst. Versuche, die gültigen Einträge direkt in die Daten-Gültigkeit-Liste einzugeben, anstatt auf eine externe Quelle zu verweisen.
  • Problem: Das Fenster zeigt die Listeneinträge nicht korrekt an.

    • Lösung: Stelle sicher, dass Du die Listeneinträge im korrekten Format (z.B. durch Semikolon getrennt) angibst. Beachte auch die Ländereinstellungen Deines Excel, da hier möglicherweise das Trennzeichen unterschiedlich ist.

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du auch folgende Alternativen in Betracht ziehen:

  • Daten-Gültigkeit ohne Popup: Verwende die Daten-Gültigkeit-Funktion, um eine Dropdown-Liste in einer Zelle zu erstellen, ohne ein Pop Up Fenster zu verwenden.

  • Formeln: Nutze die bedingte Formatierung, um Zellen hervorzuheben, wenn bestimmte Bedingungen erfüllt sind, ohne ein Pop Up Fenster zu erstellen.


Praktische Beispiele

Angenommen, Du möchtest, dass beim Eintrag "R" in der Zelle F10 ein Excel Infofenster einblendet. Du kannst den folgenden VBA-Code anpassen:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("F10")) Is Nothing Then
        If Target = "R" Then
            MsgBox "Bitte ergänze deine Informationen!", vbInformation, "Hinweis"
        End If
    End If
End Sub

Dieses Beispiel zeigt ein einfaches Hinweis-Popup an, wenn "R" eingegeben wird.


Tipps für Profis

  • VBA-Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um unerwartete Fehler beim Ausführen von VBA-Skripten zu vermeiden.

  • UserForms anpassen: Gestalte Deine UserForms ansprechend, indem Du verschiedene Steuerelemente wie Textfelder und Schaltflächen verwendest, um die Benutzererfahrung zu verbessern.

  • Automatisierung: Verwende Makros, um alltägliche Aufgaben zu automatisieren und die Effizienz bei der Arbeit mit Excel zu steigern.


FAQ: Häufige Fragen

1. Wie kann ich ein Excel Pop Up Fenster beim Öffnen anzeigen? Du kannst das Workbook_Open-Ereignis verwenden, um ein Pop Up Fenster zu erstellen, das beim Öffnen der Datei erscheint. Beispiel:

Private Sub Workbook_Open()
    MsgBox "Willkommen bei meiner Excel-Datei!", vbInformation
End Sub

2. Kann ich das Pop Up Fenster anpassen? Ja, Du kannst die Eigenschaften des UserForms oder der MsgBox anpassen, um das Aussehen und die Funktionalität zu verändern, z.B. durch Hinzufügen von Schaltflächen oder Eingabefeldern.

3. Was tun, wenn VBA nicht funktioniert? Überprüfe Deine Excel-Version und die Aktivierung von Makros. In manchen Versionen kann es Einschränkungen geben, die das Ausführen von VBA-Code verhindern.

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