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

Forumthread: Zeile per VBA in Spalte kopieren

Zeile per VBA in Spalte kopieren
21.02.2005 12:52:45
Kirsten
Hallo,
aus Datei1 soll ein Spaltenbereich B2:B4 in Datei2 per VBA kopiert werden. In die Zieldatei soll der Zelleninhalt in die 1. freie Zeile als Zeile eingefügt werden (also z.B. A5:C5). Ich bekomme das Einfügen nur als Spalte hin.
Bitte um eure Hilfe.
Kirsten
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile per VBA in Spalte kopieren
UweD
HAllo

Sub Transpo()
RR = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile
Range("B2:B4").Copy
Range("A" & RR).PasteSpecial , Transpose:=True
Application.CutCopyMode = False
End Sub

Gruß UweD
AW: Zeile per VBA in Spalte kopieren
21.02.2005 13:08:55
Heinz
Hallo Kirsten,
so z.B.:

Sub Kopieren()
Dim efz&
efz = Workbooks("Mappe2").Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("B2:B4").Copy
Workbooks("Mappe2").Worksheets(1).Range("A" & efz).PasteSpecial Paste:=xlAll, Transpose:=True
Application.CutCopyMode = False
End Sub

Gruß
Heinz
Anzeige
Danke, hat gut geklappt
21.02.2005 15:46:37
Kirsten
Hallo Uwe, hallo Heinz,
dank eurer Hilfe hat es wunderbar geklappt.
Kirsten
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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

Zeile per VBA in Spalte kopieren


Schritt-für-Schritt-Anleitung

Um die Inhalte von Zeilen in Spalten zu kopieren und dabei VBA zu verwenden, folge diesen Schritten:

  1. Öffne die Excel-Datei, aus der du die Zeile kopieren möchtest (z.B. Datei1).

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

  3. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste auf "VBAProject" und wähle "Einfügen" > "Modul".
  4. Kopiere den folgenden VBA-Code in das Modul:

    Sub ZeileKopieren()
       Dim ZielRow As Long
       ZielRow = Workbooks("Mappe2").Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1
       Range("B2:B4").Copy
       Workbooks("Mappe2").Worksheets(1).Range("A" & ZielRow).PasteSpecial Paste:=xlAll, Transpose:=True
       Application.CutCopyMode = False
    End Sub
  5. Passe den Code an, wenn nötig, indem du die Bereiche änderst.

  6. Schließe den VBA-Editor und führe das Makro aus, um die Zeile in die Spalte zu kopieren.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs."

    • Lösung: Überprüfe, ob die Arbeitsmappe "Mappe2" geöffnet ist und ob das Blatt, auf das du zugreifen möchtest, tatsächlich existiert.
  • Fehler: "Die Methode 'PasteSpecial' für das Objekt 'Range' ist fehlgeschlagen."

    • Lösung: Stelle sicher, dass die Range, die du kopieren möchtest, korrekt definiert ist.

Alternative Methoden

Eine weitere Möglichkeit, die Excel VBA Zeile zu kopieren, besteht darin, die Daten manuell zu transponieren:

  1. Kopiere den gewünschten Zellbereich (z.B. B2:B4).
  2. Klicke mit der rechten Maustaste auf die Zelle, in die du die Daten einfügen möchtest.
  3. Wähle "Inhalte einfügen" und aktiviere die Option "Transponieren".

Diese Methode ist besonders nützlich, wenn du keine VBA-Kenntnisse hast.


Praktische Beispiele

Hier ist ein einfaches Beispiel für den VBA-Code, um eine Reihe und Spalte zu kopieren:

Sub Transponieren()
    Dim LetzteZeile As Long
    LetzteZeile = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
    Range("B2:B4").Copy
    Range("A" & LetzteZeile).PasteSpecial , Transpose:=True
    Application.CutCopyMode = False
End Sub

Mit diesem Code kannst du die Spalte Zeile in die letzte freie Zeile deiner Zielarbeitsmappe einfügen.


Tipps für Profis

  • Verwende Fehlerbehandlung in deinem VBA-Code, um Laufzeitfehler besser zu handhaben.
  • Halte deine Arbeitsmappen ordentlich, um Verwirrung zu vermeiden, wenn du mit mehreren Dateien arbeitest.
  • Nutze Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Zeilen gleichzeitig kopieren?
Du kannst den Bereich in der Range-Anweisung entsprechend anpassen, z.B. Range("B2:B10"), um mehrere Zeilen zu kopieren.

2. Funktioniert dieser Code in Excel 365?
Ja, dieser VBA-Code sollte in Excel 365 sowie in früheren Versionen funktionieren, solange du die VBA-Funktionalität verwendest.

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