Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1924to1928
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

'SaveAs' fehlgeschlagen

'SaveAs' fehlgeschlagen
29.03.2023 16:28:46
Tobias

Hallo Ihr lieben,

ich hätte mal eine kleine frage/ bitte.
Ich habe eine Datei für meine Kollegen, wo per User-Form eine neue Datei in einen bestimmten Ordner erstellt wird.

Wie kann ich den Laufzeitfehler '1004': Die Methode 'SaveAs' für das Objekt ist fehlgeschlagen, umgehen und stattdessen eine MSG-Box anzeigen lassen mit ''Bitte zuerst Ordner XXXX anlegen", die dann das Makro/ Userform wieder beendet?

Mein Makro bisher:

Private Sub CBEintragen_Click()

    BearbeitungOeffnen

    Sheets("Allgemein").Range("Artikelbezeichnung") = TBArtikelbezeichnung.Text 
    Sheets("Allgemein").Range("Artikelnummer") = TBArtikelnummer.Text       

    'Dialogfeld "Speichern unter" aufrufen
    'und dabei den Dateipfad und den Dateinamen vorgeben

    BearbeitungSchliessen

    Dim strBlatt As String
    Dim strCALIBER As String
    
        '** Aktuelles aktives Blatt in neue Arbeitsmappe kopieren
        strBlatt = TBArtikelnummer.Text
        strCALIBER = CBKaliber.Text
        '** Blatt in vorgegebenes Verzeichnis abspeichern
        ChDir "K:\XXXXX"
        ActiveWorkbook.SaveAs Filename:="K:\XXXXX\" + strCALIBER + "\" + strBlatt + ".xlsm", FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
        
    Unload Me
          
        BearbeitungOeffnen  'Schreibschutz aufheben
   
        'Löscht den Button nach dem Erfolgreichen erstellen des Logbuchs
        ActiveSheet.Range("L4") = Now
        ActiveSheet.Range("K4") = Date$
        ActiveSheet.Shapes.Range(Array("CBERSTELLEN")).Select   '(SCHRITT 1) Schaltfläche wird gelöscht
        Selection.Delete
           
        BearbeitungSchliessen   'Schreibschutz eintragen
        
        ActiveWorkbook.Close savechanges:=True 'Vorlage wird gespeichert und geschlossen
        Application.Close
        

End Sub


Vielen Dank im Voraus! :)

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 'SaveAs' fehlgeschlagen
29.03.2023 16:34:02
Rudi Maintaire
Hallo,
if dir("k:\xxxx",vbdirectory)="" then
  msgbox "erst ordner anlegen"
  exit sub
end if
Den Ordner kannst du aber auch gleich per VBA anlegen. Siehe MkDir.

Gruß
Rudi


AW: 'SaveAs' fehlgeschlagen
29.03.2023 18:15:05
Tobias
Dim strBlatt As String
    Dim strCALIBER As String
    
        strBlatt = TbArtikelnummer.Text
        strCALIBER = CBKaliber.Text

        ChDir "K:\XXXX"
        ActiveWorkbook.SaveAs Filename:="K:\XXXX\" + strCALIBER + "\" + strBlatt + ".xlsm", FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
        If Dir(strCALIBER, vbDirectory) = "" Then
        MsgBox "ordner anlegen"
        Exit Sub
        Unload Me
        End If
Leider Funktioniert es nicht, es kommt trozdem der Laufzeitenfehler.

strCALIBER wäre der Ordner, der eventuell nicht vorhanden sein könnte.

mit
 If Dir("K:\XXXX\" + strCALIBER, vbDirectory)
habe ich es auch schon probiert.

Stimmten die eingaben dann wird es aber richtig abgelegt.


Anzeige
AW: 'SaveAs' fehlgeschlagen
29.03.2023 18:24:00
Rudi Maintaire
Hallo,
Strings werden mit & verknüpft.

If Dir("K:\XXXX\" & strCALIBER, vbDirectory)="" Then MkDir "k:\xxxx\" & strCaliber

Gruß
Rudi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige