Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1480to1484
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

displayalert geht nicht aus

displayalert geht nicht aus
07.03.2016 14:48:43
Stefan

Liebes Forum,
meine letzte Frage wurde super beantwortet, leider habe ich mir für mein Dankesschreiben so lange Zeit gelassen, dass mein Beitrag im Archiv lag.
Ich habe ein wenig mit Excel und VBA experimentiert und schreibe auch kleine Tabellen jetzt für mich auf Arbeit.
Jetzt habe ich einen Code, in dem ich die Displayalert aus schalten möchte. Zum Testen habe ich alles auf

Sub einschaltewn()
Application.EnableEvents = False
Application.DisplayAlerts = False
Application.EnableEvents = True
Application.DisplayAlerts = True
End Sub

reduziert.
Wenn ich mit F8 durch die Zeilen hüpfe und bei "Application.EnableEvents = True" bin, zeigt er mir an, dass "DisplayAlerts" immer noch wahr ist.
Im langen Code habe ich das selbe Problem, er setzt es einfach nicht als Falsch.
Google hilft mir leider nicht weiter.
Ein ähnliches Problem habe ich beim Forschen noch festgestellt. Wenn ich die Makrobremse mit "with application" nutze, lässt er EnableEvents auch auf wahr.

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

Betreff
Datum
Anwender
Anzeige
Wetten, dass …
07.03.2016 15:02:56
RPP63
DisplayAlerts funktioniert imo nicht im Einzelschrittmodus (F8).
Du kannst ja mal ins Direktfenster ausgeben:
Sub einschaltewn()
Application.EnableEvents = False
Application.DisplayAlerts = False
Application.EnableEvents = True
Debug.Print Application.DisplayAlerts
End Sub
Bei mir ist es Falsch
DisplayAlerts braucht nicht zurückgesetzt werden, das macht VBA selbständig.
Gruß Ralf

AW: Überredet
08.03.2016 08:17:41
Stefan
Der Direktbereich bestätigt deine Theorie, das soll einer wissen.
Nachdem diese Idee dann nicht stimmt, brauche ich doch etwas umfangreicher eure Hilfe.
Ich habe im letzten Beitrag einen Stundennachweis für Ehrenamtliche geschrieben. Jetzt nach 2 Monaten hat sich heraus gestellt, dass dieser mit VBA-Code sehr kompliziert ist (zum Beispiel wird bei jedem Speichern eine andere Datei geöffnet), wollte ich ihn jetzt aus allen (ich glaube 50) bereits benutzten Nachweisen wieder entfernen.
Sub umbenennen()
Dim fs As Object
Dim fVerz As Object
Dim fDatei As Object
Dim fDateien As Object
Dim StatusCalc As Long
Dim DateiName As String
Dim wkbAktuell As Object
Set fs = CreateObject("scripting.filesystemobject")
Set fVerz = fs.getfolder(ThisWorkbook.Path)
Set fDateien = fVerz.Files
With Application
.EnableEvents = False
.DisplayAlerts = False
'    .ScreenUpdating = false
'   StatusCalc = .Calculation
'  .Calculation = xlCalculationManual
End With
Debug.Print Application.DisplayAlerts
Debug.Print Application.EnableEvents
For Each fDatei In fDateien
If InStr(fDatei, "") > 0 And Not Right(fDatei.Name, 15) = "umbenennen.xlsm" Then 'hier gibt  _
es sicher eine elegantere Lösung,
'um nicht  _
die eigene Datei zu löschen
Set wkbAktuell = Excel.Application.Workbooks.Open(fDatei)
DateiName = fDatei.Name
DateiName = Left(DateiName, InStrRev(DateiName, ".") - 1)
wkbAktuell.SaveAs fVerz & "/" & DateiName, FileFormat:=51
wkbAktuell.Close
'fDatei.Delete
End If
Next fDatei
With Application
.EnableEvents = True
.DisplayAlerts = True
'     .ScreenUpdating = True
'     .Calculation = StatusCalc
End With
MsgBox "ende"
End Sub
...ist meine Idee um den Code zu entfernen, und die Dateien ohne Makros zu nutzen.
Da Excel mein Freund und Helfer ist, warnt er mich trotzdem (ich hoffte, dass DisplayAlerts mir die Nachfrage erspart) dass ein Speichern im xlsx die Makros unwiederruflich löscht.
Wie erkläre ich Excel, dass ich mir dieser Gefahr bewusst bin und er einfach macht was ich möchte.

Anzeige
Warum so kompliziert?
08.03.2016 09:18:36
RPP63
Moin!
Folgendes speichert die .xlsm mit gleichem Namen als .xlsx im gleichen Verzeichnis ohne Rückfragen:
Sub MakroWeg()
Application.DisplayAlerts = False
ThisWorkbook.SaveAs FileFormat:=51
ActiveWorkbook.Close False
End Sub
Gruß Ralf

AW: Warum so kompliziert?
08.03.2016 10:31:15
Stefan
Hallo Ralf,
"so kompliziert" weil ich doch keine Ahnung habe.
Aber mein Problem ist, dass ich etwa 50 Dateien umwandeln möchte. Deshalb habe ich eine Datei mit dem oben genannten Code erstellt. Und möchte diese in dem Ordner mit den 50 Dateien starten. Dies funktioniert mit meinem Code, allerdings muss ich auch 50 mal bestätigen, dass ich wirklich den VBA Code verwerfen möchte.

Anzeige
Ich muss weg
08.03.2016 10:43:12
RPP63
Daher erst heute Nachmittag die nächste Antwort.
Muss selbst erst debuggen.
Bis dahin.
Gruß Ralf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige