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

Forumthread: Zelleninhalt (auf anderes Blatt kopieren

Zelleninhalt (auf anderes Blatt kopieren
17.11.2005 20:56:19
Michael
Hallo,
habe folgendes Problem. Ich möchte den Inhalt der Zellen (Text und Zahlen) in ein anderes Blatt per Makro kopieren.
Habe das über
Range("A21:C38").Select
Selection.Copy
Sheets("Tabelle2").Select
Range("B2").Select
ActiveSheet.Paste
versucht nur dann kopiere ich ja die ganzen Zellen. Das ist schlecht, da die Zellen ihre Inhalte über ein weiteres Tabellenblatt bekommen (per Namensdefinition). Somit kopiere ich immer die Funktion der Zellen, aber nicht deren Inhalt. In den A und B-Spalte ist Text, in der C-Spalte Zahlen. Hoffe das es einigermaßen Verständlich beschrieben ist.
MfG
Michael
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalt (auf anderes Blatt kopieren
17.11.2005 20:57:58
DieterB
Hallo Michael,
vielleicht wäre DAS was für dich.
Gruß DieterB
AW: Zelleninhalt (auf anderes Blatt kopieren
17.11.2005 21:22:48
Michael
Hallo Dieter,
so ganz komme ich damit noch nicht klar.
Für was ist
name = Cells(7, 9)
datum = Cells(9, 2)
gut? Verstehe nicht was dort gemacht wird.
MfG
Michael
Anzeige
AW: Zelleninhalt (auf anderes Blatt kopieren
17.11.2005 21:29:01
DieterB
Das sind Variablen, wo die Inhalte der Zellen I7 (7, 9) und B9 (9, 2)
reingeschrieben werden, um sie als Namen zu verwenden.
Letztendlich wird das gerade aktive Blatt (zumindestens ein Teil davon)
in eine neue Datei geschrieben und gespeichert. Dabei werden nur die Inhalte und Formatierungen der Zellen kopiert, nicht die Formeln.
Gruß DieterB
Anzeige
AW: Zelleninhalt (auf anderes Blatt kopieren
17.11.2005 21:51:30
Michael
Ok, das ist für mich ja nicht wichtig. Hab das Makro nun so aufgebut leider geht es nicht, es werden keine Daten in Tabelle2 eingefügt.
MfG
Michael

Sub Test()
Range("A21:C38").Select
Selection.Copy
Dim lastRow1 As Long
With Sheets("Tabelle2")
lastRow1 = IIf(.Range("B65536") <> "", 65536, .Range("B65536").End(xlUp).Row + 1)
With Selection
.PasteSpecial Paste:=xlPasteValues      ' Werte
.PasteSpecial Paste:=xlFormats          ' Formate
End With
End With
End Sub

Anzeige
AW: Zelleninhalt (auf anderes Blatt kopieren
17.11.2005 21:56:05
PeterW
Hallo Michael,
hast du es mal mit direkter Zuweisung versucht?

Sub BereichKopieren()
Sheets("Tabelle2").Range("B2:D19") = Sheets("Tabelle1").Range("A21:C38").Value
End Sub

Gruß
Peter
AW: Zelleninhalt (auf anderes Blatt kopieren
17.11.2005 22:05:41
Michael
Hallo Peter,
danke das klappt super!! Kannst du mir jetzt noch sagen wie ich immer ab der ersten freien Zelle in Spalte-B einfüge?
MfG
Michael
Anzeige
AW: Zelleninhalt (auf anderes Blatt kopieren
17.11.2005 22:21:29
PeterW
Hallo Michael,
versuch mal

Sub BereichKopieren()
Dim lgLetzte As Long
With Sheets("Tabelle2")
lgLetzte = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range("B" & lgLetzte & ":D" & lgLetzte + 17) = Sheets("Tabelle1").Range("A21:C38").Value
End With
End Sub

(mit XP getestet).
Gruß
Peter
Anzeige
Es geht!!! DANKE!!!
17.11.2005 23:53:15
Michael
Danke für Deine und natürlich auch Dieters Hilfe, ist ein super Forum hier.
Gruß
Michael
AW: Zelleninhalt (auf anderes Blatt kopieren
17.11.2005 22:07:51
Michael
Hallo Peter,
danke das klappt super!! Kannst du mir jetzt noch sagen wie ich immer ab der ersten freien Zelle in Spalte-B einfüge?
MfG
Michael

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zelleninhalt auf anderes Blatt kopieren mit VBA


Schritt-für-Schritt-Anleitung

Um den Inhalt von bestimmten Zellen in ein anderes Tabellenblatt zu kopieren, kannst Du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne die Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke auf "Einfügen" und wähle "Modul".

  3. Schreibe den folgenden Code in das Modul:

    Sub BereichKopieren()
       Dim lgLetzte As Long
       With Sheets("Tabelle2")
           lgLetzte = .Cells(Rows.Count, 2).End(xlUp).Row + 1
           .Range("B" & lgLetzte & ":D" & lgLetzte + 17) = Sheets("Tabelle1").Range("A21:C38").Value
       End With
    End Sub
  4. Passe die Blätter und Bereiche an: Stelle sicher, dass die Namen der Tabellenblätter und die Zellbereiche Deinen Anforderungen entsprechen.

  5. Führe das Makro aus: Drücke F5 oder gehe zurück zu Excel und führe das Makro über das Menü "Makros" aus.

Mit diesem Makro werden die Werte aus „Tabelle1“ in die erste freie Zeile von „Tabelle2“ in den Zellenbereich B:D kopiert.


Häufige Fehler und Lösungen

  • Fehler: Keine Daten werden in Tabelle2 eingefügt.

    • Lösung: Überprüfe, ob die Quellzellen in „Tabelle1“ tatsächlich Werte enthalten. Stelle sicher, dass das Makro auf die richtige Tabelle verweist.
  • Fehler: Das Makro wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe zu den Excel-Optionen > Trust Center > Einstellungen für das Trust Center und aktiviere die Makros.

Alternative Methoden

Neben VBA gibt es auch andere Methoden, um Daten in ein anderes Tabellenblatt zu kopieren:

  1. Direkte Zuweisung:

    Sub DirektKopieren()
       Sheets("Tabelle2").Range("B2:D19") = Sheets("Tabelle1").Range("A21:C38").Value
    End Sub
  2. Werte und Formate kopieren:

    Sub WerteUndFormateKopieren()
       Sheets("Tabelle1").Range("A21:C38").Copy
       Sheets("Tabelle2").Range("B2").PasteSpecial Paste:=xlPasteValues
       Sheets("Tabelle2").Range("B2").PasteSpecial Paste:=xlPasteFormats
    End Sub

Diese Methoden können hilfreich sein, je nachdem, ob Du nur die Werte oder auch die Formatierungen benötigen.


Praktische Beispiele

  1. Beispiel für das Kopieren von Text aus einem anderen Blatt:

    Sub TextKopieren()
       Sheets("Zielblatt").Range("A1").Value = Sheets("Quellblatt").Range("B2").Value
    End Sub
  2. Beispiel für das Übertragen von Werten in eine bestimmte Zeile:

    Sub ZeileKopieren()
       Dim letzteZeile As Long
       letzteZeile = Sheets("Zielblatt").Cells(Rows.Count, 1).End(xlUp).Row + 1
       Sheets("Zielblatt").Rows(letzteZeile).Value = Sheets("Quellblatt").Rows(1).Value
    End Sub

Diese Beispiele zeigen, wie Du spezifische Zellen und Zeilen aus einem Blatt in ein anderes übertragen kannst.


Tipps für Profis

  • Verwende Variablen: Es kann hilfreich sein, Variablen für Zellen und Bereiche zu definieren, um den Code flexibler zu gestalten.

  • Fehlerbehandlung einbauen: Nutze On Error Resume Next, um mögliche Fehler beim Ausführen des Codes abzufangen.

  • Code optimieren: Vermeide unnötige Select- und Activate-Befehle, um den Code effizienter zu machen.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass ich nur die Werte und nicht die Formeln kopiere?
Nutze die Methode .PasteSpecial Paste:=xlPasteValues, um nur die Werte zu kopieren.

2. Kann ich auch ganze Zeilen kopieren?
Ja, Du kannst die gesamte Zeile mit Rows(1).Copy kopieren und dann in das Zielblatt einfügen.

3. Wie kann ich eine bestimmte Zelle von einem anderen Blatt kopieren?
Du kannst einfach den Wert einer Zelle wie folgt zuweisen:

Sheets("Zielblatt").Range("A1").Value = Sheets("Quellblatt").Range("B2").Value

Mit diesen Informationen bist Du gut gerüstet, um Inhalte zwischen verschiedenen Tabellenblättern in Excel zu kopieren!

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige