Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1684to1688
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

Unterbinden eines Makros bei Dateiöffnung

Unterbinden eines Makros bei Dateiöffnung
05.04.2019 15:34:00
Florian
Hallo Spezialisten!
Habe ein kleines Problemchen wo ich eure Hilfe benötige.
Habe folgendes Makro in einem Tabellenblatt welches mir eine MsGBox ausgibt sobald sich das Formelergebnis in der angegebenen Zelle ändert . . .
Option Explicit
Dim oldQ19Value As Double
Private Sub Worksheet_Activate()
oldQ19Value = [Q19]
End Sub
Private Sub Worksheet_Calculate()
If [Q19]  oldQ19Value Then
Call MsgBox_unüblicher_DM
oldQ19Value = [Q19]
End If
End Sub
In der Zelle steht folgende Formel:
=SUMMENPRODUKT(ZÄHLENWENN(F24:G7023;Bezüge!W4:W42))-ZÄHLENWENN(Bezüge!W4:W42;"")*ZÄHLENWENN(F24:G7023;0)
Allerdings wird die MsgBox auch immer ausgegeben wenn ich die Datei öffne, obwohl es in der Zelle keine Änderungen gibt. Es fehlt mir leider an Erfahrung dies so abzuändern, dass dies beim Öffnen nicht geschieht.
Besten Dank für euer Engagement!
Florian

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

Betreff
Datum
Anwender
Anzeige
AW: Unterbinden eines Makros bei Dateiöffnung
05.04.2019 15:39:34
Nepumuk
Hallo Florian,
teste mal:
Option Explicit

Dim oldQ19Value As Variant

Private Sub Worksheet_Activate()
    oldQ19Value = [Q19]
End Sub

Private Sub Worksheet_Calculate()
    If Not IsEmpty(oldQ19Value) Then
        If [Q19] <> oldQ19Value Then
            Call MsgBox_unüblicher_DM
            oldQ19Value = [Q19]
        End If
    End If
End Sub

Gruß
Nepumuk
Anzeige
Nepumuk's Variante ist natürlich die Schönere owT
05.04.2019 15:41:36
EtoPHG

AW: Unterbinden eines Makros bei Dateiöffnung
05.04.2019 15:53:32
Florian
Hallo Nepomuk,
besten Dank für die Rasche Rückmeldung!
Die MsgBox wird nach dem Öffnen nun nicht mehr ausgegeben. Allerdings auch nicht wenn sich die Zelle ändert.
Danke für deine Mühe und Geduld.
Florian
AW: Unterbinden eines Makros bei Dateiöffnung
05.04.2019 15:40:07
EtoPHG
Hallo Florian,
1. Sollte die Definition
Dim oldQ19Value As Double
in ein Standardmodul, statt in das Tabellenblatt
2. Muss in DieseArbeitsmappe
Private Sub Workbook_Open()
oldQ19Value = Worksheets("NameDesBlatts").Cells(19, 17) ' Blatt mit der MsgBox anpassen
End Sub
Gruess Hansueli
Anzeige
AW: Unterbinden eines Makros bei Dateiöffnung
05.04.2019 15:59:52
Florian
Hallo Hansueli!
Ach dir danke für deine Mühe!
Wenn ich die ganze Sache auf deinen Lösungsvorschlag abändere, so bekomme ich die Meldung bei jeder Eingabe. Egal ob sich der Wert des Formelergebnisses ändert, oder nicht . . .
Florian
Sorry, ohne Beispielmappe kann ich nicht...
05.04.2019 16:05:13
EtoPHG
weiterhelfen, Florian
Ich kann nicht nachvollziehen, wieso das so sein sollte, wie du es beschreibst.
Ebensowenig, dass Nepumuk's Vorschlag nicht funktionieren soll.
Also lade eine Beispielmappe ins Forum, in der die relevanten Formel noch vorhanden sind!
Gruess Hansueli
AW: Sorry, ohne Beispielmappe kann ich nicht...
05.04.2019 16:37:50
Florian
Hallo Hansueli!
Schaffe ich jetzt leider nicht mehr!
Melde mich in den nächsten Tagen nochmal.
Danke Florian
Anzeige
AW: Sorry, ohne Beispielmappe kann ich nicht...
05.04.2019 17:01:30
Hajo_Zi
Beachte das der Beitrag nur 6 Tage im Forum ist.
offen bedeutet es soll noch eine Antwort kommen.
Warum ist dein Beitrag Offen.
Du willst doch was machen. Soll jemand vorbei kommen?

AW: Sorry, ohne Beispielmappe kann ich nicht...
10.04.2019 08:38:33
Florian
Hallo die Herren!
@Hajo:
Sorry - passiert mir leider immer wieder. Denkfehler!
@Hansueli:
Bin jetzt beim Ausmisten der Datei zum Uploaden darauf gekommen warum ich dachte, dass der Code von Nepomuk nicht funktioniert! Der Grund ist der, dass ich die Arbeitsmappe nicht im Tabellenblatt Gesamtliste starte, in welcher der Code steht. Und somit wird die Definition des Wertes aus Q19 nicht gemacht.
Wenn ich zuerst die Gesamtliste aktiviere und die Werte danach eingebe funktioniert alles wie am Schnürchen.
Habe jetzt seit einer Stunde vergebens versucht die Definition oldQ19Value (wie von dir berits vorgeschlagen) in das Worbook-Open Ereignis zu integrieren. Leider vergebens . . .
Habe eine Beispieldatei hochgeladen: Die Werte werden im Blatt Rx eingegeben. Das Blatt Gesamtliste dient nur zur Kontrolle und wird nie aktiviert.
https://www.herber.de/bbs/user/129051.xlsm
Mein Workaround wäre nun die Aktivierung des Tabellenblattes Gesamtliste beim Öffnen der Datei gewesen, allerdings würde ich schon gerne wissen wie es richtig gehen würde.
Danke für eure Mühe und euer Verständnis.
Schöne Grüße
Florian
Anzeige
AW: Sorry, ohne Beispielmappe kann ich nicht...
10.04.2019 09:14:47
Nepumuk
Hallo Florian,
ändere in der Tabelle "Gesamtliste" die Activate-Prozedur so:
Public Sub Worksheet_Activate()
oldQ19Value = [Q19]
End Sub

Im Workbook_Open-Event dann:
Private Sub Workbook_Open()
Kopieren_Deaktivieren
Call Tabelle20.Worksheet_Activate
Sheets("Rx").Select
End Sub

Gruß
Nepumuk
AW: Sorry, ohne Beispielmappe kann ich nicht...
10.04.2019 09:40:08
Florian
Hallo Nepumuk!
Vielen vielen Dank! Funktioniert einwandfrei! Ich bin happy.
Diese Forum ist einfach spitze!
Danke an alle und schöne Zeit!
Florian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige