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.

ein weiterer Fehler 1004 - aber immer nur mal wieder, je nach Laune
#1
Hallo zusammen
Ich habe nun schon viel recherchiert um diesem sogenannten Laufzeitfehler 1004 nachzukommen, aber ich kann es leider nicht nachvollziehen, was mir mein Programm sagen möchte.
How to reproduce:
Ich erstellte ein Excel Makro zum benennen der Datei aus bestimmten Zellen. Da ich gerade bei bin eine groe Datenbank anzulegen, brauche ich standardisierte Dateibezeichnungen.
Das hat bis letzte Woche auch geklappt: Semester_Kurs_Fach_Dozent_Thema.xlsx
Letzte Woche fügte ich in diese Variablen noch die Anzahl der Kurse ein xxsieheobenxx_22UE.xslx

Das heist ich habe im Makro nichts geändert ausser einer Zelle hinzugefügt.
Nun kommt leider die Fehlermeldung: Laufzeitfehler 1004 - Diese Erweiterung kann nicht mit dem im ausgewählten Dateityp verwendet werden. Ändern Sie die Dateierweiterung im Textfeld Dateiname oder wählen Sie einen anderen Dateityp aus indem Sie die Auswahl auf Speichern unter ändern.

Komischerweise funktioniert das Script manchmal und manchmal nicht.
Öffne ich das Excel Formular neu, gebe nur die Felder ein, speichere, dann funktioniert es in der Regel. bleibe ich weiter in der Datei und bearbeite Sie zunächst weiter, kann er nicht speichern, und es kommt die Fehlermeldung.
Und das ist der Grund wo ich verständnismäßig leider aussteige.
Könnt ihr mir vielleicht helfen.

Ich sende mal das Script mit rein...
Sub SVPspeicher()



Dim Datei As String
Dim Verzeichnis As String
Dim SaveDummy As Variant

Verzeichnis = "L:\_Datenaustausch\Infos von der Schulleitung der Fachschule\Stoffverteilungspläne\" 'Verzeichnis-Vorschlag
Datei = Range("B2") & "_" & Range("B1") & "_" & Range("B3") & "_" & Range("B4") & "_" & Range("B5") & "UE" & "_" & Range("C6") & ".xlsx" 'Datei-Vorschlag
SaveDummy = SpeichernUnter(Verzeichnis & Datei)
If SaveDummy <> False Then ActiveWorkbook.SaveAs SaveDummy 'Es wurde im Dialog auf Speichern gedrückt

End Sub



Function SpeichernUnter(VorgabeName As String) As Variant

SpeichernUnter = Application.GetSaveAsFilename(InitialFileName:=VorgabeName, Filefilter:="Excel Dateien (*.xlsx),*.xls*", _
FilterIndex:=1, Title:="SVPspeicher", ButtonText:="SVPspeichern")

End Function



Ich bin auch Anfänger, ich habe mir dieses aus zweoi Ideen im Netz zusammengebastelt, auch hier bin ich offen für Anregungen.

Viele Grüße
Antworten Top
#2
Hi,

bist Du im VBA-Editor mit F8 in Einzelschritten durch?
Bei welchem Prozedurtyp entsteht der Fehler:
a) Sub
b) Funktion
gruß
Marco
Antworten Top
#3
Hm, es macht leider keinen Unterschied ob ich das mit F8 oder gesamt ausführe. Der Fehler scheint bei dem If SaveDummy zu entstehen.
ICh hab mal den screenshot drangehangen
Antworten Top
#4
Hallo,

was steht in der neu hinzugefügten Zelle wenn die Fehlermeldung auftaucht?

PS: Ich sehe keinen Screenshot.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#5
1) Du hast Makros willst aber als *.xlsx
2) Die Methode ActiveWorkbook.SaveAs() braucht ebenfalls den Dateityp



zu 1)
Schau dir die FileFormat-Auflistung an:
h t t p s://docs.microsoft.com/de-de/office/vba/api/excel.xlfileformat

zu2)
Schau dir mal die Erwartung der Methode an:

Nachfolgend der Code:
Code:
Sub SVPspeicher()

Dim Datei As String
Dim Verzeichnis As String
Dim SaveDummy As Variant
Verzeichnis = "L:\_Datenaustausch\Infos von der Schulleitung der Fachschule\Stoffverteilungspl?ne\" 'Verzeichnis-Vorschlag
Datei = Range("B2") & "_" & Range("B1") & "_" & Range("B3") & "_" & Range("B4") & "_" & Range("B5") & "UE" & "_" & Range("C6") & ".xlsm" 'Datei-Vorschlag
SaveDummy = SpeichernUnter(Verzeichnis & Datei)
If SaveDummy <> False Then ActiveWorkbook.SaveAs SaveDummy, xlOpenXMLWorkbookMacroEnabled 'Es wurde im Dialog auf Speichern gedr?ckt
End Sub

Function SpeichernUnter(VorgabeName As String) As Variant
SpeichernUnter = Application.GetSaveAsFilename(InitialFileName:=VorgabeName, Filefilter:="Excel Dateien mit Makros(*.xlsm),*.xlsm", _
FilterIndex:=1, Title:="SVPspeicher", ButtonText:="SVPspeichern")
End Function
gruß
Marco
Antworten Top
#6
Zu 1
ICh brauche für alle Kollegen bloß ein Formular mit dem Makro. Die Enddatei die dann ausgespuckt wird kan eine normale xlsx sein, da danach kein Makro mehrverwendet wird.

Zu 2
Ich habe das mal wie im Beispiel eingefügt, es ändert sich aber nichts

So hab den Screenshot diesmal auch mit hochgeladen :)

In den Feldern die rot markiert sind, tragen die Kollegen die Daten ein, diese werden wie im script abgerufen und bilden die Dateibezeichnung. Vorher ging es problemlos, seit ich die B5 und die "UE" eingefügt habe kommt der Fehler.


Angehängte Dateien Thumbnail(s)
       
Antworten Top
#7
Hallo,

wenn in der Zelle C6 solche Zeichen \ : . und ähnliche verwendet werden, kann es zum Fehler kommen. Um das auszuschließen, ist dein Beispiel nicht aussagekräftig genug.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#8
Ich habe bei allen Beispielen jetzt extra gar keine Sonderzeichen mehr verwendet
Interessant ist auch, wenn ich auf speichern unter gehe und das als xlsm speichere nimmt er das Makro mit und in der Datei funktioniert es dann ohne den Fehler
Antworten Top
#9
Zitat:Zu 2

Ich habe das mal wie im Beispiel eingefügt, es ändert sich aber nichts

Das Laufwerk L: ist gemappt, der Pfad in seiner angegebenen tiefe tatsächlich vorhanden und Du hast sowohl Freigabe als auch NTFS-Rechte um darauf zu speichern?

Lad doch mal Deine Mappe hoch (anonymisiert), dann lässt sich reinschauen ob auch alles ordentlich hinterlegt wurde ;)

Zitat:Interessant ist auch, wenn ich auf speichern unter gehe und das als xlsm speichere nimmt er das Makro mit und in der Datei funktioniert es dann ohne den Fehler
und 
Zitat:ICh brauche für alle Kollegen bloß ein Formular mit dem Makro. Die Enddatei die dann ausgespuckt wird kann eine normale xlsx sein, da danach kein Makro mehrverwendet wird.
Sind nützliche Infos.
Der Code muss angepasst werden.
gruß
Marco
Antworten Top
#10
zu 2
Ja das Laufwerk steht mir zur Verfügung, es hat ja auch vorher geklappt
Die Mappe lade ich mal im Anhang mit


Angehängte Dateien
.xltm   Formular_StoffverteilungsplanFOR1.xltm (Größe: 20,44 KB / Downloads: 3)
Antworten Top


Gehe zu:


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