Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nur bestimmten Zellbereich kopieren u. exportieren

Forumthread: Nur bestimmten Zellbereich kopieren u. exportieren

Nur bestimmten Zellbereich kopieren u. exportieren
17.03.2009 16:11:25
Bernd
Hallo Freaks,
ich habe diesen Code für das Exportieren bestimmter Tabellenblätter aus dem Forum-Archiv.
Wer wäre bitte so nett und würde den Code dahingehend anpassen, dass nur die Zellen A1:P36 des Sheets "Export" kopiert werden?
Wenn es nicht zu unverschämt ist, wäre ich an nachstehender Ergänzung auch brennend interessiert.
Alle im kopierten und exportierten Zell-Bereich enthaltenen Formeln durch Werte ersetzen und diese Werte auf zwei Stellen nach dem Komma runden.
Herzlichen Dank im voraus.
Grüße
Bernd

Sub BlattKopieren()
Dim strFile As String
strFile = "MAPPE1_DATEN"   'Dateinamen vorgeben!
strFile = Application.GetSaveAsFilename(initialfilename:=strFile, _
fileFilter:="Excel Files (*.xls; *.xla; *.xlt), *.xls; *.xla; *.xlt")
If strFile = "Falsch" Then Exit Sub
Workbooks("Mappe.xls").Sheets("EXPORT").Copy
With ActiveWorkbook
.Sheets(1).Name = "Exportdaten"
.SaveAs strFile
'.Close   'wenn die neue Mappe geschlossen werden soll!
End With
End 

Sub


		
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Versenhentlich zwei Mal ins Forum eingestellt!!
17.03.2009 16:12:24
Bernd
Sorry!
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Nur bestimmten Zellbereich kopieren und exportieren


Schritt-für-Schritt-Anleitung

Um nur einen bestimmten Zellbereich in Excel zu kopieren und zu exportieren, kannst du den folgenden VBA-Code verwenden. Dieser Code kopiert die Zellen A1:P36 aus dem Blatt "EXPORT" und ersetzt alle Formeln durch ihre Werte, gerundet auf zwei Dezimalstellen.

  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. Füge den folgenden Code in das Modul ein:
Sub BlattKopieren()
    Dim strFile As String
    strFile = "MAPPE1_DATEN"   ' Dateinamen vorgeben!
    strFile = Application.GetSaveAsFilename(initialfilename:=strFile, _
    fileFilter:="Excel Files (*.xls; *.xla; *.xlt), *.xls; *.xla; *.xlt")

    If strFile = "Falsch" Then Exit Sub

    ' Kopiere den spezifischen Zellbereich
    Workbooks("Mappe.xls").Sheets("EXPORT").Range("A1:P36").Copy

    ' Neues Workbook erstellen und die kopierten Daten einfügen
    With Workbooks.Add
        .Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues
        ' Werte runden
        .Sheets(1).Range("A1:P36").Value = Application.WorksheetFunction.Round(.Sheets(1).Range("A1:P36").Value, 2)
        .SaveAs strFile
        '.Close   ' wenn die neue Mappe geschlossen werden soll!
    End With
End Sub
  1. Schließe den VBA-Editor und führe das Makro aus, indem du ALT + F8 drückst und das Makro auswählst.

Häufige Fehler und Lösungen

Fehler: Das Workbook kann nicht gefunden werden.
Stelle sicher, dass der Name des Workbooks in deinem Code korrekt ist. Es sollte genau mit dem Namen übereinstimmen, der in Excel angezeigt wird.

Fehler: Der Zellbereich ist ungültig.
Überprüfe, ob der Zellbereich "A1:P36" im Blatt "EXPORT" tatsächlich existiert. Achte darauf, dass keine Leerzeichen im Blattnamen sind.


Alternative Methoden

Wenn du keine VBA-Lösung nutzen möchtest, kannst du auch manuell vorgehen:

  1. Markiere den Zellbereich A1:P36 im Blatt "EXPORT".
  2. Kopiere die Zellen mit CTRL + C.
  3. Öffne ein neues Excel-Dokument und füge die Zellen mit CTRL + V ein.
  4. Um die Formeln durch Werte zu ersetzen, wähle den eingefügten Bereich aus, klicke mit der rechten Maustaste, wähle Inhalte einfügen und dann Werte.
  5. Um die Werte zu runden, kannst du die Funktion RUNDEN in einer neuen Spalte verwenden.

Praktische Beispiele

Du kannst den Code anpassen, um verschiedene Zellbereiche zu exportieren. Zum Beispiel:

  • Um die Zellen A1:A10 zu exportieren, ändere Range("A1:P36") in Range("A1:A10").
  • Wenn du ein anderes Blatt exportieren möchtest, passe den Namen nach Sheets("EXPORT") an.

Tipps für Profis

  • Nutze Application.ScreenUpdating = False, um die Bildschirmaktualisierung während der Ausführung des Makros zu deaktivieren. Das beschleunigt den Prozess.
  • Füge Error-Handling hinzu, um unerwartete Fehler besser zu managen.
  • Experimentiere mit weiteren Excel-Funktionen wie SUMME oder DURCHSCHNITT, um Daten im Export zu analysieren.

FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um einen anderen Zellbereich zu kopieren?
Ändere einfach den Range-Wert im Code, um den gewünschten Bereich zu bestimmen.

2. Gibt es eine Möglichkeit, das Makro automatisch auszuführen?
Ja, du kannst das Makro so einstellen, dass es beim Öffnen der Datei automatisch ausgeführt wird. Füge dazu den Aufruf des Makros in die Workbook_Open-Prozedur ein.

3. Funktioniert dieser Code in allen Excel-Versionen?
Der Code ist für Excel 2007 und höher geeignet. Bei älteren Versionen kann es zu Abweichungen in der Funktionsweise kommen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige