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

Forumthread: bei best. Wert in Zelle soll Fenster sich öffnen

bei best. Wert in Zelle soll Fenster sich öffnen
27.03.2005 17:00:09
roaky
Hallo,
ich bin mal wieder am grübeln, vielleicht kann mir jemand weiterhelfen.
Ich habe eine Zelle B26 in der ich eine Gültigkeit definiert habe. Die Gültigkeit ist eine Liste mit Dropdownmenü aus der der User einen bestimmten Wert für diese Zelle von mehrern vorgegebenen Werten auswählen kann.
Nun soll, wenn in dieser Zelle ein ganz bestimmter Wert aus der Liste ausgewählt wird, sich ein Popup- Fenster öffnen, in dem eine Nachricht/ Vermerk steht. Dieses Fenster soll man aber auch von Hand wieder schließen können.
Wenn jemand eine Idee hat, bitte sofort posten.
Danke
Roaky
Anzeige
AW: bei best. Wert in Zelle soll Fenster sich öffnen
27.03.2005 17:23:29
th.heinrich
hi Roaky,
in B4:B7 steht die Liste Gültigkeit
Tabelle1
 ABC
4212
5 2 
6 3 
7 4 
Formeln der Tabelle
C4 : =WENN(A4=4;"achtung";A4)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
gruss thomas
Anzeige
AW: bei best. Wert in Zelle soll Fenster sich öffn
28.03.2005 12:21:56
roaky
Vielen Dank Thomas,
aber deine Lösung ist nicht genau das was ich suche.
Ich habe eine Zelle B26 zu der ich eine Gültigkeit zugewiesen habe. Klicke ich auf diese Zelle, dann kann ich ein Dropdownmenü öffnen, in dem ich aus mehreren Werten auswählen kann (zb: 2;4;6;8;...). Nun möchte ich, dass wenn der User zum Beispiel den Wert 6 auswählt, sich ein Popup- Fenster öffnet, in dem ein Hinweis an den User steht. Dieser Hinweis soll in keiner anderen Zelle stehen sondern wie eben beschrieben in einem kleinen seperaten Fenster, welches der User dann manuell schließen soll. Dieses Fenster soll nur aufdroppen wenn der Wert 6 ausgewählt wird - bei den restlichen Werten passiert nichts.
Vielleicht ne Idee?
Danke
Roaky
Anzeige
AW: bei best. Wert in Zelle soll Fenster sich öffn
28.03.2005 12:35:55
Josef
Hallo Roaky! (realnames sind hier üblich und erwünscht!)
Kopiere diesn Code in das Modul der Tabelle!
(Rechtsklick auf Blattregister &gt Code anzeigen &gt in das rechte Fenster kopieren!)
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$26" And Target = 6 Then MsgBox "Du hast sex gewählt!", vbInformation, "Hinweis für " & _ Application.UserName End If End Sub
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!


Anzeige
AW: bei best. Wert in Zelle soll Fenster sich öffn
28.03.2005 12:47:09
roaky
Hallo Sepp,
erstmal vielen Dank für deine Hilfe!
Leider weiß ich nicht, was ich hier machen soll:
Kopiere diesn Code in das Modul der Tabelle!
( Rechtsklick auf Blattregister - Code anzeigen - in das rechte Fenster kopieren! )"
Kannst du mir das bitte noch etwas ausführlicher erklären? DANKE schonmal!
Roaky
ist mein Vorname - komme aus Jamaika ;)
Anzeige
AW: bei best. Wert in Zelle soll Fenster sich öffn
28.03.2005 12:52:16
Josef
Hallo Roaky!
Sorry Rastaman, das konnte ich ja nicht ahnen;-)
Also nochmal langsam zum mitschreiben.
Mach auf das Blattregister (dort wo der Tabellenname steht) der Tabelle einen Klick mit der rechten Maustaste.
Im sich öffnenden Kontextmenü wählst du "Code anzeigen".
In das sich öffnende Fenster kopierst du nun den Code.
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!


Anzeige
AW: bei best. Wert in Zelle soll Fenster sich öffn
28.03.2005 13:02:48
roaky
Hallo Sepp,
kein Problem mit meinem Namen - klingt wirklich etwas exotisch... ach ja Sonne, Strand und Meer!
Zurück zu Excel:
Das habe ich nun geschafft und dein Script eingefügt. Aber leider funktioniert es nicht. Wenn ich auf die Play Taste klicke, dann zeigt er einen anderen Code an, der sich auch schon in dieser Tabelle befindet.
Sub Ausblenden() Dim r As Range, lz As Long, ls As Integer, i As Long Set r = ActiveSheet.UsedRange lz = r(r.Count).Row ls = r(r.Count).Column Debug.Print lz, ls Rows(lz + 1 & ":65536").Hidden = True Range(Cells(1, ls + 1), Cells(1, 256)).EntireColumn.Hidden = True End Sub
Vertragen sich vielleicht beide Scripte nicht?
Danke
Roaky
Anzeige
AW: bei best. Wert in Zelle soll Fenster sich öffn
28.03.2005 13:15:42
Josef
Hallo Roaky!
Meinen Code kannst du nicht mit der Playtaste starten!
er startet automatisch, wenn du in B26 die 6 auswählst!
Vorausgesetzt du hast den Code wirklich in das Modul der Tabelle kopiert.
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!


Anzeige
AW: bei best. Wert in Zelle soll Fenster sich öffn
28.03.2005 13:24:21
roaky
Hallo Sepp,
sorry das es nicht funktioniert aber ich habe es genau so gemacht wie du es mir erklärt hast.
code copiert - Tabelle geöffnet - Code anzeigen - dann in dieses weisse Fenster den Code eingetragen. Dann gespeichert und oben links in der Menüleiste auf dieses kleine grüne Excel Icon geklickt und schwupps war ich wieder bei meiner Excel Tabelle angelangt. Dann habe ich nur nochmal gespeichert und in der Zelle B26 die Zahl 6 ausgewählt - nix passiert!
Habe nochmal neu gestartet - es geht leider auch nicht.
Ist da vielleicht ein kleiner Fehler im Code enthalten?
Roaky
Anzeige
AW: bei best. Wert in Zelle soll Fenster sich öffn
28.03.2005 13:35:31
Josef
Hallo Roaky!
Der Code funzt!
Hier ein Beispiel.
https://www.herber.de/bbs/user/20240.xls
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!


Anzeige
AW: bei best. Wert in Zelle soll Fenster sich öffn
28.03.2005 13:40:59
roaky
Stimmt - klasse genauso wollte ich das (nur nicht den Textinhalt :))
Okay,
kann es sein, dass es einen Konflikt in meiner Excel Tabelle gibt, weil ich zwei verschiedene Codes verwende? Einmal deinen und dann den anderen, den ich dir vorhin eingefügt habe.
Ich kann es mir einfach nicht erklären wo das Problem liegt...
Anzeige
AW: bei best. Wert in Zelle soll Fenster sich öffn
28.03.2005 13:45:30
roaky
Habe gerade etwas bemerkt:
Wenn ich deine Excel Tabelle öffne und mir den Code anzeigen lasse, dann kommt ein zusätzliches Fenster mit dem Inhalt "Option Explicit" welches ich in meiner Excel Tabelle nicht habe, wenn ich mir den Code anzeigen lasse.
Kann dies auf einen Fehler hindeuten?
Anzeige
AW: bei best. Wert in Zelle soll Fenster sich öffn
28.03.2005 14:02:42
roaky
Kannst du mir bitte noch einen Tipp geben:
Ich öffne meine Excel Tabelle, klicke oben wo der Name steht (Mappe1) mit einem Rechtsklick drauf und gehe auf "Code anzeigen".
Nun öffnet sich "Microsoft Virtual Basic - Mappe1" und in das leere weisse Fenster füge ich den Code ein. Nun klicke ich auf "Speichern" und schliesse MVB wieder.
Jetzt sehe ich meine Excel Tabelle wieder und gehe auf Zelle B in die Zeile 26 und gebe dort die Ziffer 6 ein. Nichts passiert!
Was mache ich falsch?
Anzeige
AW: bei best. Wert in Zelle soll Fenster sich öffn
28.03.2005 14:06:45
Josef
Hallo Roaky!
"Option Explicit" bedeutet das eine Explizite Variablendeklaration verlangt wird!
Diese Option kannst du im VBE unter Extras &gt Optionen &gt Editor einstellen.
Mit dem Code selber hat das nichts zu tun, es ist aber ratsam diese Option
zu aktivieren, um fehler bei der variablendeklaration zu vermeiden!
Bist du sicher das du den Code in das richtige Modul kopiert hast?
Öffne mit Alt+F11 den VBE, rechts siehst du den Objektexplorer, klicke dort
doppelt auf deine Tabelle. Im rechten Fenster sollte nun der Code zu sehen sein.
Ich vermute mal, das du den Code unter "DieseArbeitsmappe" stehen hast, und
da gehört er aber nicht hin!
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!


Anzeige
AW: bei best. Wert in Zelle soll Fenster sich öffn
28.03.2005 14:15:21
roaky
Super, es funktioniert!
Hatte es tatsächlich falsch eingefügt - naja nun weiß ichs ja ;)
Vielen Dank nochmal für deine Hilfe!!
Roaky
AW: bei best. Wert in Zelle soll Fenster sich öffn
28.03.2005 14:22:49
roaky
Eine letzte Frage noch:
Wie verändere ich dein Code, wenn ich möchte, dass der Hinweis nicht nur bei Zelle B26, sondern bei den Zellen B26 bis Z26 kommen soll.
Hab einiges probiert aber es kam immer ein Fehler...
Danke
Roaky
Anzeige
AW: bei best. Wert in Zelle soll Fenster sich öffn
28.03.2005 14:42:41
Josef
Hallo nochmal!
Dann so.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B26:Z26")) Is Nothing Then
If Target.Count = 1 And Target = 6 Then
MsgBox "Du hast sex gewählt!", vbInformation, "Hinweis für " & _
Application.UserName
End If
End If
End Sub

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!


Anzeige
;

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
Anzeige

Infobox / Tutorial

Popup-Fenster in Excel bei bestimmten Zellwerten erstellen


Schritt-für-Schritt-Anleitung

Um ein Excel-Popup-Fenster zu erstellen, das sich öffnet, wenn ein bestimmter Wert in einer Zelle ausgewählt wird, folge diesen Schritten:

  1. Öffne das Visual Basic for Applications (VBA) Fenster:

    • Klicke mit der rechten Maustaste auf den Tab deiner Tabelle (z.B. "Tabelle1").
    • Wähle "Code anzeigen".
  2. Füge den Code ein:

    • Im sich öffnenden Fenster kopierst du den folgenden Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Address = "$B$26" And Target = 6 Then
           MsgBox "Du hast 6 gewählt!", vbInformation, "Hinweis für " & Application.UserName
       End If
    End Sub
  3. Schließe das VBA-Fenster und speichere deine Datei.

  4. Testen: Wähle in Zelle B26 den Wert 6 aus. Ein Popup-Fenster sollte erscheinen.


Häufige Fehler und Lösungen

  • Fehler 1: Das Popup-Fenster öffnet sich nicht.

    • Lösung: Stelle sicher, dass der Code tatsächlich im richtigen Modul der Tabelle eingefügt wurde und nicht in "DieseArbeitsmappe".
  • Fehler 2: Beim Auswählen des Wertes erscheint ein anderer Code.

    • Lösung: Vergewissere dich, dass kein anderer Code im selben Modul steht, der Konflikte verursachen könnte.
  • Fehler 3: Excel gibt eine Fehlermeldung aus.

    • Lösung: Überprüfe die Syntax des Codes und stelle sicher, dass die Zelle korrekt referenziert wird.

Alternative Methoden

Falls du ein Excel Popup-Fenster beim Öffnen der Datei erstellen möchtest, kannst du den folgenden Code in das Modul "DieseArbeitsmappe" einfügen:

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

Dies zeigt bei jedem Öffnen der Arbeitsmappe ein Hinweis-Popup an.


Praktische Beispiele

  1. Popup bei Auswahl eines Wertes:

    • Mit dem oben beschriebenen Code wird bei Auswahl des Wertes 6 in Zelle B26 ein Popup angezeigt.
  2. Popup für mehrere Zellen:

    • Um das Popup auch für Zellen von B26 bis Z26 zu aktivieren, benutze diesen Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Range("B26:Z26")) Is Nothing Then
           If Target.Count = 1 And Target = 6 Then
               MsgBox "Du hast 6 gewählt!", vbInformation, "Hinweis für " & Application.UserName
           End If
       End If
    End Sub

Tipps für Profis

  • Code anpassen: Du kannst den Text des Popup-Fensters nach deinen Wünschen anpassen, um spezifische Hinweise zu geben.
  • Benutzerdefinierte Formate: Erstelle komplexere Popups mit weiteren Eingabefeldern oder Auswahlmöglichkeiten, indem du UserForms in Visual Basic verwendest.
  • Testen und Debuggen: Nutze die Debugging-Tools in VBA, um deinen Code effizient zu testen und Fehler zu finden.

FAQ: Häufige Fragen

1. Wie kann ich das Popup-Fenster anpassen? Du kannst den Text im MsgBox Befehl ändern, um spezifische Hinweise oder Informationen anzuzeigen.

2. Funktioniert das auch in Excel Online? Leider unterstützt Excel Online keine VBA-Makros, daher funktionieren die beschriebenen Popup-Fenster nur in der Desktop-Version von Excel.

3. Was ist "Option Explicit" und sollte ich es verwenden? "Option Explicit" zwingt dich dazu, alle Variablen zu deklarieren, was hilft, Fehler zu vermeiden. Es ist ratsam, diese Option zu aktivieren, um die Codequalität zu verbessern.

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