Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1828to1832
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 übergehen

Messagebox übergehen
02.05.2021 18:38:40
Peter
Hallo zusammen,
Ich habe rund 900 xlsm-Dateien, in denen ein Zellwert sowie die Fußzeile geändert werden muss.
Das entsprechende VBA-Skript dazu habe ich erstellt, funktioniert bei den "Testdateien" auch.
Falls möglich würde ich jedoch gerne noch eine Messageboxabfrage übergehen, um den Prozess zu beschleunigen und "unbeobachtet" laufen lassen zu können.
Wenn eine Datei gespeichert werden soll, erscheint die Abfrage, ob die Kontaktdaten geändert wurden. Erst bei Klick auf "ja" wird die Datei gespeichert (und ggf. auch geschlossen).
Im Moment müsste ich bei jeder Datei mit "ja" bestätigen, damit die nächste Datei geöffnet, geändert, gespeichert und geschlossen wird.
Lässt sich die nachstehende Abfrage im Rahmen der "Massenänderung" umgehen?
Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If MsgBox("Kontaktdaten geändert?", vbQuestion + vbYesNo, "Speichern") = vbNo Then Cancel = True Else Cancel = False
End Sub
Für einen Tipp wäre ich sehr dankbar.
Mit freundlichen Grüßen
Peter

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Messagebox übergehen
02.05.2021 19:26:56
Nepumuk
Hallo Peter,
vor dem Speichern:

Application.EnableEvents = False
nach dem Speichern:

Application.EnableEvents = True
Gruß
Nepumuk
AW: Messagebox übergehen
02.05.2021 20:46:21
Peter
Hello Nepumuk,
vielen Dank - ich habe eben noch etwas experimentiert, um die richtigen Stellen zu finden, wo die Anweisungen hin müssen, aber jetzt klappt es.
Falls jemand eine ähnliche Lösung sucht:

Option Explicit
Const strPath As String = "C:\Users\PFAD\PFAD\" 'Laufwerk und kompletten Pfad zum Zielordner angeben
Sub Aenderung in alle Dokumenten im ausgewaehlten Ordner durchfuehren()
Dim strFile As String
strFile = Dir(strPath & "*.xlsm")
While strFile  ""
Workbooks.Open strPath & strFile
Application.EnableEvents = False
Call [Name des Makros mit der durchzufuehrenden Aenderung]
ActiveWorkbook.Close True
Application.EnableEvents = True
strFile = Dir
Wend
End Sub

Gruß,
Peter
p.s. Ich muss nur noch herausfinden, wie ich den VBA Code hier vom Rest getrennt in den Post bekomme. Ich bitte daher um Nachsicht

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige