Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1760to1764
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

messagebox Makro abbrechen

messagebox Makro abbrechen
01.06.2020 02:05:12
Stefan.M
Guten Morgen,
ich bräuchte wieder einmal eure Hilfe.
In der beigefügten Mappe löscht das hinterlegte Makro (danke Rudi!) alle Datensätze deren Eintrag in Spalte D kleiner 31.12.2020 sind. Da nunmehr (im Beispiel) keine Daten mehr übrig bleiben brauche ich eine Messagebox mit dem Text
"Keine Daten gefunden - Bearbeitung beenden" und den Button OK. Mit dem Drücken von OK soll das Makro abgebrochen werden und die aktuelle Excel Datei geschlossen werden. Im Falle, dass Daten größer 31.12.2020 ausgelesen werden, soll das Makro in Spalte A2 springen.
Besten Dank für eure Hilfe!
Schöne Pfingsten
Stefan
https://www.herber.de/bbs/user/137915.xlsm

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Hilfe? Das nenn ich einen Auftrag ! kwT
01.06.2020 07:26:47
Helmut
AW: messagebox Makro abbrechen
01.06.2020 08:01:38
Felix
Hallo Stefan
Sub Makro4()
Dim dteLast As Date, rngDel As Range, rngC As Range, fileClose As Boolean
fileClose = True
dteLast = DateSerial(2020, 12, 31)
For Each rngC In Range(Cells(2, 4), Cells(Rows.Count, 4).End(xlUp))
If rngC 
Es gibt eine weitere Variable, in der hinterlegt wird ob die Datei geschlossen wird oder nicht.Standardmäßig wird die Datei geschlossen. Nur, wenn beim durchlaufen der Werte ein Wert über dem Stichdatum erkannt wird, dann wird der Wert auf falksch gesetzt, die datei nicht geschlossen und A2 ausgewählt.
VLG Felix
Anzeige
AW: messagebox Makro abbrechen
01.06.2020 08:09:05
Hajo_Zi
Hallo Stefan,
Sub Makro4()
' Makro4 Makro
Dim dteLast As Date, rngDel As Range, rngC As Range
dteLast = DateSerial(2020, 12, 31)
If WorksheetFunction.CountIf(Range(Cells(2, 4), Cells(Rows.Count, 4).End(xlUp)), dteLast) =  _
0 Then
If MsgBox("kein vorhanden.", vbOKOnly + vbQuestion, "Löschabfrage ?") = vbOK Then
End If
Else
For Each rngC In Range(Cells(2, 4), Cells(Rows.Count, 4).End(xlUp))
If rngC 

AW: messagebox Makro abbrechen
01.06.2020 14:09:49
Stefan.M
Hallo Felix,
besten Dank läuft perfekt!
VG
Stefan
AW: messagebox Makro abbrechen
01.06.2020 14:21:40
Stefan.M
Hallo Hajo,
vielen lieben Dank, aber leider hat sich hier scheinbar ein kleiner Fehler eingeschlichen, er prüft immer "nur" auf den 31.12.2020 und somit kommt im Ergebnis immer (? Kein vorhanden) oder aber er löscht alles, wenn ein Datensatz den 31.12.2020 in Spalte D inne hat.
Ziel ist aber ist, dass die Daten in D, die größer als 31.12.2020 sind bestehen bleiben und nur wenn kein Datensatz in D ein Datum größer als 31.12.2020 ist, die Messagebox aufgeht und das Makro quasi abgebrochen wird
Felix hat das Problem bereits gelöst, evtl. magst du noch mal über deine Lösung schauen?
Auf jeden Fall ganz herzlichen Dank für deine Mühen!
Schöne Pfingsten
VLG
Stefan
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige