Clever-Excel-Forum

Normale Version: Verknüpfung von mehreren If Funktionen im Makro für verschiedene Pop-Ups
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich hoffe, ihr könnt mir weiterhelfen. Ich habe was VBA angeht nur ein sehr geringes Grundwissen und habe jetzt aber eine Exceltabelle vor mir, die mir beim Eintreten verschiedener Ereignisse jeweils ein unterschiedliches Pop-Up Fenster ausspucken soll. 
Konkret geht es darum, dass, wenn in Zelle D41 die Summe von 19 überschritten wird ein Pop-Up erscheint und wenn in Zelle E41 die Summe 35 überschritten wird ein anderes Pop-Up erscheint und so weiter (siehe Code).
Wenn in beiden oder noch mehr Zellen die definierte Summe überschritten wird, sollen die jeweiligen Pop-Ups für die Zellen angezeigt werden.
Mithilfe verschiedener Tipps aus dem Internet habe ich mir den unten stehenden Code gebastelt.


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D41") > "19" Then
    MsgBox "4 Nächte Novotel ausverkauft!"
End If
If Range("E41") > "35" Then
    MsgBox "5 Nächte Novotel ausverkauft!"
End If
If Range("F41") > "5" Then
    MsgBox "4 Nächte Hyatt Regency ausverkauft!"
End If
If Range("G41") > "8" Then
    MsgBox "5 Nächte Hyatt Regency ausverkauft!"
End If
End Sub


Es funktioniert auch, bei allen Zellen nur nicht bei G41. Also wenn bei D41-F41 eine oder mehrere Summen überschritten werden, dann kommen die Meldungen für alle relevanten Zellen, wenn G41 überschritten wird kommen aber nur für die anderen betroffenen Zellen die Pop-Ups und nicht das für G41.

Kann mir jemand von euch sagen, woran das vielleicht liegen könnte?

Danke und Grüße
Hi Ellen,

mein Grundwissen in VBA dürfte noch einiges unter deinem liegen. Hab' mal dein Makro ausprobiert, kann allerdings deine Aussage

Zitat:Es funktioniert auch, bei allen Zellen nur nicht bei G41. Also wenn bei D41-F41 eine oder mehrere Summen überschritten werden, dann kommen die Meldungen für alle relevanten Zellen, wenn G41 überschritten wird kommen aber nur für die anderen betroffenen Zellen die Pop-Ups und nicht das für G41.

nicht nachvollziehen. Bei mir wurden alle MsgBoxes angezeigt:

[attachment=12445]
[attachment=12446]
[attachment=12447]
[attachment=12448]
Hi,

wie kommen die Werte nach G41?

Im Übrigen sind Zahlen in Gänsefüßchen keine Zahlen mehr!
Auch Hallo,

mache echte Zahlen daraus das heißt ohne die Klammern.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D41") > 19 Then
   MsgBox "4 Nächte Novotel ausverkauft!"
End If
If Range("E41") > 35 Then
   MsgBox "5 Nächte Novotel ausverkauft!"
End If
If Range("F41") > 5 Then
   MsgBox "4 Nächte Hyatt Regency ausverkauft!"
End If
If Range("G41") > 8 Then
   MsgBox "5 Nächte Hyatt Regency ausverkauft!"
End If
End Sub
(26.07.2017, 08:52)ellen schrieb: [ -> ]Konkret geht es darum, dass, wenn in Zelle D41 die Summe von 19 überschritten wird

Moin!
Ich schließe daraus, dass in D41 eine Formel steht, die kein _Change auslöst.

Persönliche Meinung:
Ich würde eine MsgBox als extrem störend empfinden.
Wenn ich arbeite (;)) malträtiere ich meine Tastatur und will nix bestätigen.
Sowas mache ICH mittels bedingter Formatierung.

Gruß Ralf
Hi Stefan,

das Problem liegt wohl woanders, wenn 4 If funktionieren und eins nicht!

Edit:  Ich schließe mich bzgl. der Ursache voll der Meinung von Ralf an.
Vielen Dank für die vielen Rückmeldungen. Leider hat mir bisher alles nicht so wirklich weitergeholfen.

Wenn ich die Anführungszeichen oder Klammern entfernt habe, habe ich immer eine Fehlermeldung bekommen.

@Ralf: in D41 steht eine Summenformel. Ich habe leider keine Ahnung, ob das eine Formel ist, die einen "Change auslöst". Wenn nicht, gibt es da vielleicht eine andere Lösung für?
Zu den Msgboxes: die sollen mega störend sein, damit auch der letzte "Depp" der an der Tabelle arbeitet, versteht, dass er da nix mehr verkaufen kann :)

Edit: werde es jetzt aber wohl doch über eine mega auffällige bedingte Formatierung machen.
Die Berechnung einer Formel löst ein _Calculate aus.
Das hilft Dir aber nix, da Du Dich vor lauter Boxes nicht retten könntest.  :21:

Du musst dann statt dessen den Bereich der das Formelergebnis ändernden Zellen überwachen.

Ich gehe mal einfach davon aus, dass wir Dir nur konkret helfen können, wenn Du uns die Datei (anonymisiert(?), aber mit absolut identischem Aufbau) hochlädst.

Gruß Ralf
(26.07.2017, 10:32)ellen schrieb: [ -> ]Edit: werde es jetzt aber wohl doch über eine mega auffällige bedingte Formatierung machen.

Sehe gerade Dein Edit.
Dies dürfte das sinnvollste sein. ;)

Gruß Ralf
Hallo,

(26.07.2017, 10:32)ellen schrieb: [ -> ]Wenn ich die Anführungszeichen oder Klammern entfernt habe, habe ich immer eine Fehlermeldung bekommen.

Huh Welche Klammern hast Du entfernt? Ich habe dir doch das geänderte Ereignismakro gepostet.
Seiten: 1 2