Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1496to1500
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
Neue, aktive Datei umbenennen
13.06.2016 16:25:18
Dieter(Drummer)
Guten Tag, VBA Spezialisten,
mit diesem Code erzeuge ich eine neue Datei, der auch funktioniert:
  • 
    Sub NeuMappe()
    Dim wkbNeu As Workbook
    Set wkbNeu = Workbooks.Add
    wkbNeu.SaveAs "C:\Test\Maximilian.xls"
    End Sub
    

  • Diese erzeugte Datei, jetzt aktive Datei, soll umbennat werden und es kommt ein Fehler:(ActiveWorkbook.SaveAs NewName) im Code:
  • 
    Sub DateiUmbenennen()
    Dim NewName As String, OldName As String
    NewName = InputBox("Bitte neuen Dateinamen eingeben", "Datei umbenennen")   'Neuer  _
    Dateiname
    OldName = ActiveWorkbook.FullName   'Aktueller Dateiname + Pfad
    If NewName = "" Then Exit 
    
    
    Sub   'Laufzeitfehler verhindern indem überprüft wird, ob NewName ein Zeichen enthält
     ActiveWorkbook.SaveAs NewName   'Datei unter NewName speichern
    'Kill Dir(OldName)   'Alte Datei löschen
    End Sub
    


  • Ideal wäre, beide Codes zu einem verkürzen. Mit Eingabe in Inputbox wird z.B. der Name "Maxi.xlsm" eingegeben. Kann der Fehler durch ".xlsm" enstehen? Wie kann ich ihn dann beheben?
    Gruß und Dank für evtl. Hilfe,
    Dieter(Drummer)

    11
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Neue, aktive Datei umbenennen
    13.06.2016 16:56:42
    Fennek
    Hallo,
    versuche diesen Code:
    
    Sub test()
    Dim WB As Workbook
    Application.DisplayAlerts = False
    sPath = "c:\temp\"
    Nn = InputBox("Dateiname")
    Set WB = Workbooks.Add
    Cells(1, 1) = "A"
    WB.SaveAs sPath & Nn & ".xlsx"
    WB.SaveCopyAs sPath & Nn & "2" & ".xlsx"
    Application.DisplayAlerts = True
    End Sub
    
    mfg

    AW: Es wird ein Fehler angezeigt ...
    13.06.2016 17:18:02
    Dieter(Drummer)
    Danke Fennek für Hilfe.
    Es wird ein Fehler angezeigt: "sPath =", Fehler beim kompilieren, Variable nicht definiert".
    Was ist falsch?
    Gruß, Dieter(Drummer)

    AW: Es wird ein Fehler angezeigt ...
    13.06.2016 17:19:42
    Fennek
    Hallo,
    Sub test()
    Dim WB As Workbook
    Application.DisplayAlerts = False
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  sPath = "c:\temp\"
    Nn = InputBox("Dateiname")
    Set WB = Workbooks.Add
    Cells(1, 1) = "A"
    WB.SaveAs sPath & Nn & ".xlsx"
    WB.SaveCopyAs sPath & Nn & "2" & ".xlsx"
    Application.DisplayAlerts = True
    End Sub
    

    Anzeige
    AW: Es wird ein Fehler angezeigt ...
    13.06.2016 17:28:52
    Dieter(Drummer)
    ... ich habe nichts an deinem Makro geändert und der Fehler ist unverändert da!
    So ist dein Makro drin:
    Sub test()
    Dim WB As Workbook
    Application.DisplayAlerts = False
    sPath = "c:\temp\"
    Nn = InputBox("Dateiname")
    Set WB = Workbooks.Add
    Cells(1, 1) = "A"
    WB.SaveAs sPath & Nn & ".xlsx"
    WB.SaveCopyAs sPath & Nn & "2" & ".xlsx"
    Application.DisplayAlerts = True
    End Sub
    

    Gruß, Dieter(Drummer)

    AW: gibt es ...
    13.06.2016 17:33:24
    Fennek
    Hallo,
    gibt es auf deinem PC den Pfad "c:\temp\"?
    mfg
    oder nutzt du Mac?

    AW: ja, gibt es ...
    13.06.2016 17:42:30
    Dieter(Drummer)
    ... den Pfad c:\temp gibt es und ich habe keinen Mac. Selbst wenn ich einen anderen Pfad, z.B. c:\test\ einsetze, kommt der Fehler.
    Gruß, Dieter(Drummer)

    Anzeige
    AW: Musste DIM Anweisung rein ... aber ...
    13.06.2016 18:12:26
    Dieter(Drummer)
    ... nun wird "Nn" angemeckert und da fehlt wohl auch eine DIM Anweisung rein, aber wie muss sie deklariert werden?
    Makro bis jetzt so:
    Sub test()
    Dim sPath As String
    Dim WB As Workbook
    Application.DisplayAlerts = False
    sPath = "c:\temp\"
    Nn = InputBox("Dateiname")
    Set WB = Workbooks.Add
    Cells(1, 1) = "A"
    WB.SaveAs sPath & Nn & ".xlsx"
    WB.SaveCopyAs sPath & Nn & "2" & ".xlsx"
    Application.DisplayAlerts = True
    End Sub
    

    Noch eine Idee?
    Gruß, Dieter(Drummer)

    Dim,Dim,D... nach ca.20 Jahren ..so eine Frage...
    13.06.2016 19:38:19
    robert
    owT

    AW: Fennek, habe es schon geschafft ...
    13.06.2016 18:16:34
    Dieter(Drummer)
    ... natürlich mit deiner Hilfe und Makro. Vielen Dank!
    Noch einen schönen Abend und
    Gruß, Dieter(Drummer)
    Makro jetzt so und funktioniert:
    Sub test()
    Dim Nn As String
    Dim sPath As String
    Dim WB As Workbook
    Application.DisplayAlerts = False
    sPath = "c:\temp\"
    Nn = InputBox("Dateiname")
    Set WB = Workbooks.Add
    Cells(1, 1) = "A"
    WB.SaveAs sPath & Nn & ".xlsx"
    WB.SaveCopyAs sPath & Nn & "2" & ".xlsx"
    Application.DisplayAlerts = True
    End Sub
    

    Anzeige
    AW: Fennek, habe es schon geschafft ...
    13.06.2016 21:54:29
    Fennek
    da wa wohl "Option explicit" gesetzt.
    Wenn man das macht, sollte man auch die Wirkung kennen.
    M.M. nach lohnt es nur bei größeren Code, bei kleinen kann man auch so den Überblick behalten. Genauso, wie ein Auto nicht nötig ist, zum 50m entfernten Briefkasten zu gehen.
    mfg

    AW: Danke Fennek, für den Hinweis ...
    14.06.2016 08:40:57
    Dieter(Drummer)
    ... hier ist auch ein Code (inkl. Option Explicit), der auch funktioniert, den ich mir selbst gestrickt habe. Dein Code gefällt mir aber besser, da er eine Inputbox beinhaltet. Danke nochmal für deine Hilfe und Geduld.
    Gruß, Dieter(Drummer)
    Sub NeuMappe() 'Mx
    Dim wkbNeu As Workbook
    Set wkbNeu = Workbooks.Add
    wkbNeu.SaveAs "C:\Test\NeueDatei.xls"
    If MsgBox(ActiveWorkbook.FullName & ":" & vbCr & "Diese aktive Datei wirklich umbenennen?", _
    vbYesNo) = vbYes Then
    Workbooks.Open Filename:="C:\test\NeueDatei.xls"
    ActiveWorkbook.SaveAs Filename:="C:\test\MaxiDatei.xlsm", FileFormat:= _
    xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
    End If
    End Sub
    

    Anzeige

    6 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige