Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Speichern von Auswahl in neue Datei

Forumthread: Speichern von Auswahl in neue Datei

Speichern von Auswahl in neue Datei
01.11.2008 15:23:51
Auswahl
Hallo, trotz suchen mit Google habe ich folgendes Problem nicht lösen könne. Ich will per VBA die Selektion A1:G27 als neues Excel File unter "Eigene Dateien" abspeichern. Dieses File soll den Namen aus der Zelle C4 und D16 erhalten. Also z.B. Müller18.10.08.xls, je nach dem was in C4 und D16 steht. Kann mir da jemand helfen?
Vielen Dank,
Roger
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern von Auswahl in neue Datei
01.11.2008 15:58:00
Auswahl
Hallo,
mit diesem Code müsste es funktionieren,
eine Überprüfung ob der Dateiname Gültig ist habe ich nicht eingebaut.
Modul Modul2
Option Explicit 
 
Sub Kopieren() 
Dim objDatei As Workbook 
Dim SelBereich As Range 
Dim i As Integer 
Dim strDateiname As String, strPfad As String 
 
'Dateiname 
strDateiname = Range("C4") & Range("D16") & ".xls" 
'Pfad 
strPfad = _
IIf(Right$(Environ$("USERPROFILE"), 1) = "\", Environ$("USERPROFILE"), Environ$("USERPROFILE") & "\") 
 
Set SelBereich = Selection 
Set objDatei = Workbooks.Add 
 
'nicht benötigte Tabellen löschen 
Application.DisplayAlerts = False 
For i = objDatei.Sheets.Count To 2 Step -1 
 objDatei.Sheets(i).Delete 
Next i 
Application.DisplayAlerts = True 
 
'Bereich kopieren 
SelBereich.Copy objDatei.Sheets(1).Range("A1") 
'Datei speichern unter 
objDatei.SaveAs strPfad & strDateiname 
'Datei schließen 
objDatei.Close False 
 
End Sub 


Gruß Tino

Anzeige
AW: Speichern von Auswahl in neue Datei
01.11.2008 16:23:37
Auswahl
Hallo Tino,
vielen Dank für deine Hilfe. Funktioniert sehr gut! Noch zwei Fragen: Wie kann man den Code anpassen, dass er gleich selber den Bereich z.B. A1:G27 auswählt? Und wie kann ich den Speicher Pfad auf C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Raporte einstellen?
Gruss, Roger
Anzeige
AW: Speichern von Auswahl in neue Datei
01.11.2008 16:50:03
Auswahl
Hallo,
da du mir nicht gesagt hast, ob Administrator dein Userprofil entspricht oder nur ein Ordner ist musste ich das mit dem Pfad so lösen.
Sollte dies auch dem Userprofil entsprechen, mach aus den Zeilen
strPfad = Environ$("USERPROFILE")
If Right$(strPfad, 1) = "\" Then strPfad = Left$(strPfad, Len(strPfad) - 1)
strPfad = Left$(strPfad, InStrRev(strPfad, "\")) & "Administrator\Eigene Dateien\Raporte\"


diese

strPfad = _
IIf(Right$(Environ$("USERPROFILE"), 1) = "\", Environ$("USERPROFILE"), Environ$("USERPROFILE") & "\")
strPfad = strPfad & "Eigene Dateien\Raporte\"


Modul Modul1

Option Explicit 
  
Sub Kopieren() 
Dim objDatei As Workbook 
Dim SelBereich As Range 
Dim i As Integer 
Dim strDateiname As String, strPfad As String 
 
'Dateiname 
strDateiname = Range("C4") & Range("D16") & ".xls" 
'Pfad 
strPfad = Environ$("USERPROFILE") 
If Right$(strPfad, 1) = "\" Then strPfad = Left$(strPfad, Len(strPfad) - 1) 
strPfad = Left$(strPfad, InStrRev(strPfad, "\")) & "Administrator\Eigene Dateien\Raporte\" 
  
Set SelBereich = Range("A1:G27") 
Set objDatei = Workbooks.Add 
  
'nicht benötigte Tabellen löschen 
Application.DisplayAlerts = False 
For i = objDatei.Sheets.Count To 2 Step -1 
 objDatei.Sheets(i).Delete 
Next i 
Application.DisplayAlerts = True 
  
'Bereich kopieren 
SelBereich.Copy objDatei.Sheets(1).Range("A1") 
'Datei speichern unter 
objDatei.SaveAs strPfad & strDateiname 
'Datei schließen 
objDatei.Close False 
  
End Sub 


Gruß Tino

www.VBA-Excel.de


Anzeige
Besten Dank Tino
01.11.2008 17:28:00
Roger
Hallo Tino,
das ist genau das was ich gesucht habe. Vielen Dank!
Roger
Anzeige
Anzeige

Infobox / Tutorial

Auswahl in neue Excel-Datei speichern


Schritt-für-Schritt-Anleitung

Um eine Auswahl in einer neuen Excel-Datei zu speichern, kannst du den folgenden VBA-Code verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Kopiere den folgenden Code in das Modul:
Option Explicit

Sub Kopieren()
    Dim objDatei As Workbook
    Dim SelBereich As Range
    Dim i As Integer
    Dim strDateiname As String, strPfad As String

    'Dateiname
    strDateiname = Range("C4") & Range("D16") & ".xls"

    'Pfad
    strPfad = Environ$("USERPROFILE") & "\Eigene Dateien\Raporte\"

    Set SelBereich = Range("A1:G27")
    Set objDatei = Workbooks.Add

    'nicht benötigte Tabellen löschen
    Application.DisplayAlerts = False
    For i = objDatei.Sheets.Count To 2 Step -1
        objDatei.Sheets(i).Delete
    Next i
    Application.DisplayAlerts = True

    'Bereich kopieren
    SelBereich.Copy objDatei.Sheets(1).Range("A1")

    'Datei speichern unter
    objDatei.SaveAs strPfad & strDateiname
    'Datei schließen
    objDatei.Close False
End Sub
  1. Passe gegebenenfalls den Pfad in der strPfad-Variable an, wenn du einen anderen Speicherort verwenden möchtest.
  2. Schließe den VBA-Editor und führe das Makro aus, um die Auswahl zu speichern.

Häufige Fehler und Lösungen

  • Fehler: Ungültiger Dateiname

    • Stelle sicher, dass die Zellen C4 und D16 einen gültigen Dateinamen enthalten. Ungültige Zeichen wie /, \, *, ?, ", <, >, | sind nicht erlaubt.
  • Fehler: Pfad nicht gefunden

    • Überprüfe, ob der angegebene Pfad existiert. Wenn du den Pfad ändern möchtest, stelle sicher, dass der neue Pfad korrekt ist und die nötigen Berechtigungen vorhanden sind.

Alternative Methoden

Eine alternative Methode, um eine Auswahl zu speichern, besteht darin, den Bereich manuell zu kopieren und in eine neue Datei einzufügen:

  1. Wähle die Zellen A1:G27 aus.
  2. Kopiere die Auswahl mit CTRL + C.
  3. Öffne eine neue Excel-Datei (CTRL + N).
  4. Füge die Auswahl mit CTRL + V ein.
  5. Speichere die Datei über Datei > Speichern unter.

Praktische Beispiele

  • Beispiel 1: Auswahl speichern mit dynamischem Dateinamen Mit dem obigen VBA-Skript wird der Dateiname dynamisch aus den Zellen C4 und D16 generiert, was dir ermöglicht, verschiedene Dateien basierend auf deinem Inhalt zu erstellen.

  • Beispiel 2: Auswahl speichern in einem bestimmten Ordner Du kannst den Pfad so anpassen, dass die Datei in einem bestimmten Ordner, wie z.B. "Dokumente", gespeichert wird, indem du den strPfad-Wert entsprechend änderst.


Tipps für Profis

  • Wenn du häufig Daten speichern musst, ist es ratsam, das Makro an deine Bedürfnisse anzupassen, z.B. durch das Hinzufügen von Fehlerbehandlungsroutinen.
  • Du kannst das Makro so erweitern, dass es automatisch den aktuellen Datumsstempel im Dateinamen hinzufügt, um die Nachverfolgbarkeit zu verbessern.
  • Experimentiere mit der Verwendung von ActiveSheet anstelle von Sheets(1), um flexibler mit verschiedenen Arbeitsblättern arbeiten zu können.

FAQ: Häufige Fragen

1. Wie kann ich die Auswahl speichern, ohne VBA zu verwenden? Du kannst die Auswahl manuell kopieren und in eine neue Excel-Datei einfügen, wie im Abschnitt "Alternative Methoden" beschrieben.

2. Ist der Code auch für Excel 365 geeignet? Ja, der bereitgestellte VBA-Code funktioniert in Excel 365 sowie in älteren Versionen von Excel. Achte darauf, dass Makros in deiner Excel-Umgebung aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige