Ich bekomme eine Runtime error 1004 document not saved
mit VBA, wenn ich eine Excel-Arbeitsmappe in meinem Ordner auf dem Desktop speichern möchte. Hier sind die Details meines Codes:Laufzeitfehler 1004 Dokument nicht mit Vba gespeichert Excel 2016
Antwort
Ich denke, dass Sie ein "Ende Wenn" am unteren Rand Ihres Codes fehlt. Der 'If fName = False Then ...' Teil. Versuchen Sie, die folgenden
Private Sub Save_Click()
'Popup the Window "Save As"
Application.DisplayAlerts = False
MsgBox "Do not change the default file name proposed on the next step please !"
Dim fName As Variant
Dim DName As String ' Variable storing name of excel workbook which has to be saved
DName = UserForm.CustomerApplication.Value & " - " & UserForm.L2GType.Value
& " - " & UserForm.Title.Value & " - " & UserForm.Country.Value & "(" &
Year(Date) & ")"
fName = Application.GetSaveAsFilename(InitialFileName:=DName, _
FileFilter:="Excel Files (*.XLSX), *.XLSX", Title:="Save As")
If fName = False Then
Exit Sub
End If
ActiveWorkbook.SaveAs filename:=fName, FileFormat:=51
ActiveWorkbook.Close
End Sub
wilson88 Können Sie bitte erklären, warum Ende sollte am Ende des Codes sein? – Tabraiz
Es ist eine mehrzeilige Syntaxregel für If-Anweisungen in VBA (die hier als Ihre 'Exit Sub'-Anweisung in einer anderen Zeile gilt). Wenn es in einer Zeile wäre, müssten Sie nicht (aber ich verwende es immer sowieso, wie ich es vorziehe, wenn Anweisungen in Blöcken schreiben, wie es einfacher zu verstehen ist). Weitere Informationen verlinkt :) https://msdn.microsoft.com/en-us/library/752y8abs.aspx –
Ich denke, Ihr Dokument wird nicht gespeichert, weil es denkt, dass die ActiveWorkbook.SaveAs Dateiname: = FName, FileFormat: = 51 Anweisung ist Teil des If-Blocks. So wird es das Sub verlassen, bevor das Dokument gespeichert wird ... –
fName
ein String
ist, deshalb kann man nicht vergleichen es mit False
, aber mit "False"
.
Versuchen Sie, den letzten Abschnitt des Codes mit den folgenden Zeilen ersetzt:
fName = Application.GetSaveAsFilename(InitialFileName:=DName, _
fileFilter:="Excel Files (*.XLSX), *.XLSX", Title:="Save As")
If fName <> "False" Then
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=fName, FileFormat:=51
Else
MsgBox "No File was selected !"
Exit Sub
End If
Application.DisplayAlerts = True
Hinweis: mit FileFormat:=51
bedeutet xlOpenXMLWorkbook
, ein XLSX-Format (ohne MACROs).
jedoch, da Sie den Befehl SaveAs
mit ThisWorkbook
, verwenden möchten, die diesen Code enthält, erhalten Sie eine Eingabeaufforderung Bildschirm erhalten, wenn Sie es als .xslx
speichern möchten fragt, was bedeutet, den gesamten Code verloren.
Sie FileFormat:=52
wählen, bedeutet xlOpenXMLWorkbookMacroEnabled
, ein XLSM Format (mit MACROs).
Shai Rado Ich habe meinen Code geändert, als ob Sie gesagt haben, aber immer noch nicht funktioniert denselben Fehler geben. Ich muss Excel-Arbeitsmappe speichern ohne Makro aktiviert – Tabraiz
Shai Rado ich benutze Excel 2016 so ist da etwas falsch mit dem Dateiformat? – Tabraiz
@Tabraiz bei welcher Zeile erhalten Sie Ihren Fehler? –
- 1. Laufzeitfehler '1004' auf VBA Excel
- 2. Laufzeitfehler '1004' mit Arbeitsblättern in Excel VBA
- 3. Laufzeitfehler 1004 Excel 2013
- 4. Laufzeitfehler 1004 in Excel-Makro
- 5. VBA-Makros funktionieren nicht in Excel 2016
- 6. Gespeichert Excel mit Excel 2016 kann nicht
- 7. VBA Laufzeitfehler 1004 Bereich mit zwei Ziffern
- 8. Kopierbereich in VBA wirft Laufzeitfehler 1004
- 9. Laufzeitfehler 1004 beim Einfügen Formel in Zelle VBA Excel
- 10. VBA zum Speichern Excel-Registerkarte auf neue Datei Laufzeitfehler 1004
- 11. excel vba Laufzeitfehler 1004; Ich habe keine Auswahl im Code
- 12. Laufzeitfehler 1004:
- 13. Excel VBA-Laufzeitfehler 1004: Anwendungsdefinierter oder objektdefinierter Fehler
- 14. Excel VBA - Laufzeitfehler 1004 bei der Vereinfachung des aufgezeichneten Codes
- 15. Excel-VBA-Fehler 1004 Bereich
- 16. Zugriff 2016: Laufzeitfehler 3061 (VBA)
- 17. Laufzeitfehler '1004' Pivot-Tabellenfehler
- 18. Excel-Makro-Laufzeit 1004 Dokument möglicherweise schreibgeschützt
- 19. Laufzeitfehler ‚1004‘
- 20. PasteSpecial (Laufzeitfehler 1004)
- 21. Excel 2010 VBA: Laufzeitfehler 1004, Microsoft Excel kann die Daten nicht einfügen
- 22. Excel VBA Laufzeitfehler '91'
- 23. 1004 Globaler Fehler - Excel VBA
- 24. Excel Formel innerhalb VBA 1004 Fehler
- 25. Excel VBA Autofilter Fehler 1004
- 26. Excel 2013 - VBA AddDataFiled 1004 Fehler
- 27. Laufzeitfehler 1004: Anwendungsdefinierter oder objektdefinierter Fehler
- 28. Solidworks 2016 SaveAs Access VBA Laufzeitfehler 438
- 29. Laufzeitfehler 1004, Vorgang kann nicht abgeschlossen werden
- 30. Excel VBA: Laufzeitfehler 7: Nicht genügend Speicher
Können Sie mir bitte helfen, wie ich bekomme Fehler in diesem Teil des Codes ActiveWorkbook.SaveAs Dateiname: = fName, FileFormat: = 51 – Tabraiz
haben Sie eine der folgenden Lösungen getestet? jede Rückmeldung wäre nett ... –