Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bestimmte Zellen in neues Blatt kopieren

Bestimmte Zellen in neues Blatt kopieren
06.12.2020 12:54:03
Thomas
Hallo liebe Fachleute!
Ich bin gerade dabei, mich mit den VBA Möglichkeiten in Excel vertraut zu machen.
Nun mein erstes Problem:
Ist:
Ich habe eine Arbeitsmappe mit zwei Blättern ("Formular" & "Daten").
Beim Formular werden u.a. in Zelle C3 und C4 Daten vom Nutzer eingegeben.
Soll:
Auf Knopfdruck sollen nun die Nutzereingaben der bestimmten Zellen des Formulars in die jeweils erste freie Zeile des Datenblattes kopiert werden.
Drücke ich noch einmal auf den Button, sollen die (dann natürlich neuen) Daten im Datenblatt in die nächste Zeile kopiert werden usw.
Ich danke euch bereits im Voraus für Eure Hilfe.
Beste Grüße
Thomas
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte Zellen in neues Blatt kopieren
06.12.2020 13:02:50
Werner
Hallo,
und wohin, in welche Spalte, soll kopiert werden?
Excel hat da dann doch schon ein paar davon.
Gruß Werner
AW: Bestimmte Zellen in neues Blatt kopieren
06.12.2020 13:15:36
Thomas
Hi Werner.
Also im Datenblatt sollen in Zeile 1 Überschriften stehen und die Eingabedaten dann ab A2 bis open End.
AW: Bestimmte Zellen in neues Blatt kopieren
06.12.2020 13:16:31
GerdL
Moin Thomas,
nach Spalten A:B z.B. so:
Sub Unit()
Range("C3:C4").Copy
Worksheets("Daten").Cells(Worksheets("Daten").Rows.Count, 1).End(xlUp).Offset(1, 0). _
PasteSpecial xlPasteValues, Transpose:=True
End Sub

Gruß Gerd
Anzeige
AW: Bestimmte Zellen in neues Blatt kopieren
06.12.2020 13:24:54
Thomas
Ja, das geht in die Richtung. Wenn ich jetzt noch weitere Zellen kopieren will (sind noch nicht abschließend) zB H4 einfach in der Range ergänzen?
Und wäre es auch möglich, die Daten in eine komplett neue Excel Tabelle (Daten.xlsm) zu kopieren statt des "Daten" Blattes in der selben Excel?
Grüße
Anzeige
AW: Bestimmte Zellen in neues Blatt kopieren
06.12.2020 14:03:45
GerdL
Hallo Thomas,
es wäre schon besser, du könntest die "neue andere " Datei u. Blatt benennen.
Getrennte Bereiche müssen i.d.R. getrennt kopiert werden.
Sub Unit()
Dim Zielblatt As Worksheet
Set Zielblatt = Workbooks(Workbooks.Count).Worksheets(1)
Range("C3:C4").Copy
Zielblatt.Cells(Zielblatt.Rows.Count, 1).End(xlUp).Offset(1, 0). _
PasteSpecial xlPasteValues, Transpose:=True
Range("H4").Copy
Zielblatt.Cells(Zielblatt.Rows.Count, 1).End(xlUp).Offset(0, 2). _
PasteSpecial xlPasteValues
Application.CutCopyMode = False
Set Zielblatt = Nothing
End Sub

Gruß Gerd
Anzeige
AW: Bestimmte Zellen in neues Blatt kopieren
06.12.2020 14:50:13
Thomas
Also die Eingabe-Datei heißt Formular.xlsx mit dem Arbeitsblatt "Auftrag" und die Zieldatei Daten.xlsx.
Im Formular steht in Zelle H2 das aktuelle Datum mit der HEUTE() Funktion.
Wäre es denn nun auch noch möglich, die eingegebenen Daten aus dem Formular abhängig vom heutigen Datum in in der Daten.xlsx zu speichern? Sprich ich erstelle dort Arbeitsblätter mit den Namen Januar bis Dezember.
Nun gebe ich in der Formular.xlsx meine Daten ein und drücke auf den Speichern Button. Das Makro schaut nun, nach dem heutigen Datum und speichert die Daten dann in der Daten.xlsx im korrespondieren Arbeitsblatt (also heute bspw. im Dezember Blatt).
Das geht jetzt schon recht weit, aber in dieser Art wäre es für meinen Nutzen optimal. Ich hoffe, das war verständlich.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Bestimmte Zellen in neues Blatt kopieren


Schritt-für-Schritt-Anleitung

Um bestimmte Zellen in ein neues Blatt zu kopieren, kannst Du VBA (Visual Basic for Applications) verwenden. Folge diesen Schritten:

  1. Öffne die Excel-Datei mit den Blättern "Formular" und "Daten".

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Füge den folgenden VBA-Code ein:

    Sub Unit()
       Dim Zielblatt As Worksheet
       Set Zielblatt = Workbooks("Daten.xlsx").Worksheets(Format(Date, "MMMM")) ' Monatsblatt erstellen
    
       ' Daten aus dem Formular kopieren
       Range("C3:C4").Copy
       Zielblatt.Cells(Zielblatt.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues, Transpose:=True
    
       ' Weitere Zellen hinzufügen
       Range("H4").Copy
       Zielblatt.Cells(Zielblatt.Rows.Count, 1).End(xlUp).Offset(0, 2).PasteSpecial xlPasteValues
    
       Application.CutCopyMode = False
       Set Zielblatt = Nothing
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Erstelle einen Button in Deinem Arbeitsblatt, um das Makro auszuführen. Gehe dazu auf Entwicklertools > Einfügen > Button und wähle das Makro "Unit" aus.

  7. Klicke auf den Button, um die Daten zu kopieren.


Häufige Fehler und Lösungen

  • Fehler: "Zielblatt nicht gefunden"

    • Stelle sicher, dass die Datei "Daten.xlsx" geöffnet ist und das Zielblatt existiert.
  • Fehler: "Method 'Range' des Objekts 'Worksheet' fehlgeschlagen"

    • Überprüfe, ob die Zellreferenzen korrekt sind und die Zellen nicht leer oder ungültig sind.

Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du auch die Copy & Paste-Funktion manuell nutzen:

  1. Markiere die Zellen in Deinem Formularblatt.
  2. Rechtsklick und wähle Kopieren.
  3. Wechsle zum Datenblatt, klicke in die erste freie Zeile und wähle Einfügen.

Diese Methode ist jedoch weniger automatisiert und erfordert manuelle Schritte.


Praktische Beispiele

  • Um Daten aus dem "Formular"-Blatt in das "Daten"-Blatt zu übertragen, kannst Du den Code erweitern, um auch andere Zellen oder Bereiche zu kopieren.
  • Wenn Du beispielsweise Zellen aus den Zeilen 5 bis 10 kopieren möchtest, kannst Du die Range-Angabe entsprechend anpassen:

    Range("C3:C4, H4, A5:A10").Copy

Tipps für Profis

  • Nutze Fehlerbehandlungsroutinen in VBA, um sicherzustellen, dass Dein Makro robust ist. Füge On Error Resume Next ein, um Fehler zu ignorieren.
  • Verwende Namensbereiche, um die Lesbarkeit Deines Codes zu verbessern und sicherzustellen, dass Du immer auf die richtigen Zellen zugreifst.
  • Überlege, ob Du Datenvalidierung in Deinem Formular verwenden möchtest, um sicherzustellen, dass die Eingaben korrekt sind.

FAQ: Häufige Fragen

1. Kann ich auch Daten in eine andere Excel-Datei kopieren? Ja, das ist möglich. Stelle sicher, dass die Zieldatei geöffnet ist und passe den VBA-Code entsprechend an.

2. Wie kann ich automatisch bestimmte Zeilen in ein anderes Tabellenblatt kopieren? Du kannst Bedingungen in Dein VBA-Makro einfügen, um nur bestimmte Zeilen zu kopieren, basierend auf Deinen Kriterien.

3. Was ist der Unterschied zwischen "PasteSpecial" und "Paste"? PasteSpecial ermöglicht das Einfügen von Werten, Formaten und Formeln, während Paste alle Inhalte einschließlich Formate einfügt.

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