Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Rückfrage "Überschreiben" unterdrücken
#1
Hallo VBA-Freunde,

dank eurer Hilfe habe ich meinen Code jetzt am Laufen.

In diesem Code stört mich nur eine Kleinigkeit. Wenn ich eine schon vorhandene Datei ausgewählt habe
kommt die Dialogbox "... ist bereits vorhanden, möchten Sie sie ersetzen?"

Diese Dialogbox möchte ich weg haben. Mit
Application.DisplayAlerts = False
klappt das nicht.
Mein Ziel ist eigentlich nur über die Dialogbox "Speichern unter" dem User die Möglichkeit zu geben
einen neuen Speicherort und Namen zu ermöglichen und diesen nachher für weitere Verwendungen unter VBA
in 2 Zellen zu schreiben.

Gäbe es da noch einen anderen Weg?
Vielen Dank für eure Überlegungen.

Heinz



Code:
Sub saveas()

Application.DisplayAlerts = False
Sname = Application.Dialogs(xlDialogSaveAs).Show
Application.DisplayAlerts = True

If Sname = False Then
   strTxt = Worksheets("MsgBoxes").Range("B3").Value
   MsgBox strTxt, vbCritical
   Exit Sub
End If

Range("B8").Value = ThisWorkbook.Path
Range("C8").Value = ThisWorkbook.Name


End Sub
Es ist nicht genug, zu wissen. Man muss es auch anwenden.
Es ist nicht genug, zu wollen. Man muss es auch tun.
Antworten Top
#2
Hallo Heinz,

Du müsstest das Speichern und den Dialog trennen, z.B. so:
Code:
...
sname = Application.GetSaveAsFilename(InitialFileName:="NeueDatei", Filefilter:="Excel Dateien (*.xlsx),*.xlsx*")
Application.DisplayAlerts = False
ActiveWorkbook.saveas sname
Application.DisplayAlerts = True
...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Heinz Ulm
Antworten Top
#3
Hallo André,

vielen Dank für deinen Rat.

Ich habe das Problem mit vielem Knobeln und Tante Google jetzt so gelöst.

Die Trennung war die Lösung.

Danke.
Gruß Heinz


Code:
Sub saveas()

Application.DisplayAlerts = False
Sname = Application.Dialogs(xlDialogSaveAs).Show
Application.DisplayAlerts = True

If Sname = False Then
   strTxt = Worksheets("MsgBoxes").Range("B3").Value
   MsgBox strTxt, vbCritical
   Exit Sub
End If

Range("B8").Value = ThisWorkbook.Path
Range("C8").Value = ThisWorkbook.Name


End Sub
Es ist nicht genug, zu wissen. Man muss es auch anwenden.
Es ist nicht genug, zu wollen. Man muss es auch tun.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste