Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1672to1676
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

MsgBox erscheint mehrfach

MsgBox erscheint mehrfach
08.02.2019 08:24:56
Andreas
Hallo zusammen,
Ich habe ein Problem.
In meiner Excel Datei habe ich folgende Makros verbaut (Kopiert und modifiziert):
Zum öffnen der Quelldatei um die Bezüge zu aktualisieren

Private Sub Workbook_Open()
Application.ScreenUpdating = False
Workbooks.Open Filename:="Dateipfad xy"
ThisWorkbook.Activate
End Sub

und in den verschiedenen Arbeitsblättern durchschnittlich 5x dieses Makro für eine MsgBox wenn _
Zellen gewisse Grenzwerte erreichen:

Private Sub Worksheet_Calculate()
With Range("C7")
If .Value 

Jetzt habe ich das Problem, dass sich diese MsgBoxen jeweils 2mal öffnen.
Mein Verdacht ist, da das Excelfenster eine Millisekunde verschwindet und wieder erscheint bevor "die 2. Runde MsgBoxen" startet, dass dies an dem 1. genannten Makro liegt.
Liege ich da falsch beziehungsweise kann mir da jemand weiterhelfen?
Bin verzweifelt und habe da schon mehrere Stunden rumprobiert.
Viele Grüße
Andi

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MsgBox erscheint mehrfach
08.02.2019 09:35:37
Nepumuk
Hallo Andi,
versuch es mal so:
Private Sub Worksheet_Calculate()
    Static WertAlt As Variant
    With Range("C7")
        If .Value <> WertAlt Then
            If .Value < 3 Then MsgBox "Warnmeldung.."
            WertAlt = .Value
        End If
    End With
    
End Sub

Gruß
Nepumuk
Anzeige
AW: MsgBox erscheint mehrfach
08.02.2019 11:01:31
Andreas
Vielen Dank werde ich nachher mal ausprobieren und Rückmeldung geben
VG
Andi
AW: MsgBox erscheint mehrfach
08.02.2019 12:29:29
Andreas
Hallo Nepumuk,
Habe deinen Code ausprobiert,
Leider funktioniert er nicht. Die Meldungen kommen immer noch doppelt und durch die Änderung geht die MsgBox bei manchen Bereichen nicht mehr auf.
VG Andi
AW: MsgBox erscheint mehrfach
08.02.2019 12:53:42
Andreas
So sieht der Code bei mir eingepflegt aus:
Private Sub Worksheet_Calculate()
Static WertAlt As Variant
With Range("C7")
If .Value  WertAlt Then
If .Value  WertAlt Then
If .Value  WertAlt Then
If .Value  WertAlt Then
If .Value 
Hab ich da was falsch gemacht?
VG Andi
Anzeige
AW: MsgBox erscheint mehrfach
08.02.2019 13:19:38
Nepumuk
Hallo Andi,
du benötigst für jeden Wert eine Variable. Teste mal:
Private Sub Worksheet_Calculate()
    Static WertAlt1 As Variant, WertAlt2 As Variant
    Static WertAlt3 As Variant, WertAlt4 As Variant
    With Range("C7")
        If .Value <> WertAlt1 Then
            If .Value < 3 Then MsgBox ""
            WertAlt1 = .Value
        End If
    End With
    With Range("C8")
        If .Value <> WertAlt2 Then
            If .Value < 3 Then MsgBox ""
            WertAlt2 = .Value
        End If
    End With
    With Range("C55")
        If .Value <> WertAlt3 Then
            If .Value < 3 Then MsgBox ""
            WertAlt3 = .Value
        End If
    End With
    With Range("C56")
        If .Value <> WertAlt4 Then
            If .Value < 3 Then MsgBox ""
            WertAlt4 = .Value
        End If
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: MsgBox erscheint mehrfach
11.02.2019 08:04:24
Andreas
Hallo Nepumuk,
Entschuldige für die späte Antwort...am Wochenende hatte ich viel um die Ohren.
Ich werde den Code ausprobieren und Dir dann wieder Rückmeldung geben.
Gruß
Andi
AW: MsgBox erscheint mehrfach
11.02.2019 08:43:18
Andreas
Hallo Nepumuk,
Habe den Code nun getestet und wie folgt eingegeben:
Private Sub Worksheet_Calculate()
Static WertAlt1 As Variant, WertAlt2 As Variant
Static WertAlt3 As Variant, WertAlt4 As Variant
Static WertAlt5 As Variant, WertAlt6 As Variant
With Range("C7")
If .Value  WertAlt1 Then
If .Value  WertAlt2 Then
If .Value  WertAlt3 Then
If .Value  WertAlt4 Then
If .Value  WertAlt5 Then
If .Value  WertAlt6 Then
If .Value 

Das Problem besteht weiterhin, dass die Msg Boxen doppelt erscheinen und diverse MsgBoxen die erscheinen sollten nun nicht mehr aufkommen.
Ich habe diesen Code in (fast) allen Arbeitsblättern der Datei eingetragen. Kommt Excel da durcheinander weil alle Makros nur "Worksheet Calculate()" heißen?
Da ich dachte, dass Excel die Makros einzelner Arbeitsblätter differenziert, habe ich WertAlt in jedem Arbeitsblatt von 1 ab benannt. Muss das fortlaufen sein? Sprich Makro 1: WertAlt1-WertAlt5, Makro 2 : WetAlt6 - WertAlt16 usw.?
Anzeige
AW: MsgBox erscheint mehrfach
11.02.2019 08:51:29
Andreas
Kurzes Update:
Habe einen Fehler gemacht bzw. vergessen WertAlt= .Value umzubennen(Siehe Code WertAlt =.Value).
Habe ich jetzt nachgeholt und die MsgBoxen kommen nur noch einmal :)
Allerdings besteht das Problem noch, dass gewisse Boxen nichtmehr aufkommen. Kann das auch an den Formelbezügen liegen?
Viele Grüße
Andi
AW: MsgBox erscheint mehrfach
11.02.2019 09:05:00
Nepumuk
Hallo Andi,
kann ich nicht nachvollziehen. Lade bitte eine Mustermappe hoch in der das auftritt.
Gruß
Nepumuk
AW: MsgBox erscheint mehrfach
11.02.2019 09:11:54
Andreas
Hallo Nepumuk,
Vielen lieben Dank für deine Hilfsbereitschaft.
Leider kann ich diese Mappe nicht als Mustermappe hochladen, da es vom Dateinamen bis hin zu den einzelnen Zellinhalten hochsensible Personendaten sind.
Mir fällt leider auch kein schneller weg ein das zu rekonstruieren...Daher kann ich leider keine Mustermappe hochladen. :(
Trotzdem vielen Dank für deine bisherige Hilfe.
Viele Grüße
Andi
Anzeige
AW: MsgBox erscheint mehrfach
11.02.2019 09:43:53
Andreas
Nochmal ich:
Es scheint fast so als wolle mich jemand ärgern...Habe nun im VBE alle Haltepunkte deaktivert (die ich nicht gesetzt habe) und es funktioniert alles einwandfrei.
Entschuldigung für die Umstände.
Viele Grüße
Andi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige