Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1208to1212
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

nicht ganze Spalte kopieren

nicht ganze Spalte kopieren
Dirk
Hallo Zusammen,
ich möchte (fast) alle Tabellenblätter durchlaufen und anhand von definierten Überschriften, Bereiche in ein bestimmtes Tabellenblatt kopieren.
Mit dem CODE funktioniert es nur teilweise, da er mir immer die ganze(n) Spalte(n) pro Tabellenblatt kopiert und diese dann nicht untereinander (pro Tabellenblatt) sondern nebeneinander einfügt!
Wie müsste ich den CODE modifizieren um mein gewünschtes Ergebnis zu erziehen?!
Über ein Tipp, oder einer kleinen Hilfestellung wäre ich sehr Dankbar.
Gruß Dirk
Option Explicit
Sub Kopieren_über_Überschrift()
Dim ws As Worksheet
Dim wsz As Worksheet
Dim rZelle As Range
Dim ueberschrift As Variant
Dim az As Long
Dim iSpalte As Long
ueberschrift = Array("Nachname", "Vorname", "ID", "Wert")
Application.ScreenUpdating = False
Set wsz = Worksheets("Master") 'Zieltabelle
For Each ws In Worksheets
If ws.Name  "Master" Then
With ws.Rows(3)
For az = 0 To UBound(ueberschrift)
Set rZelle = .Find(ueberschrift(az), LookAt:=xlWhole, LookIn:=xlValues)
If Not rZelle Is Nothing Then
iSpalte = iSpalte + 1
ws.Columns(rZelle.Column).Copy Destination:=wsz.Columns(iSpalte)
End If
Next az
End With
End If
Next ws
Application.ScreenUpdating = True
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Bitte schön
20.04.2011 08:34:44
Marc
Getestet u. läuft.
Gruß, Marc
Option Explicit
Sub Kopieren_über_Überschrift()
Dim ws As Worksheet
Dim wsz As Worksheet
Dim rZelle As Range
Dim ueberschrift, einfügezeile, Kopierbereich As Variant
Dim az As Long
Dim iSpalte As Long
ueberschrift = Array("Nachname", "Vorname", "ID", "Wert")
Application.ScreenUpdating = False
Set wsz = Worksheets("Master") 'Zieltabelle
wsz.Cells.Clear
For az = 0 To UBound(ueberschrift)
Cells(1, az + 1) = ueberschrift(az)
Next az
For Each ws In Worksheets
If ws.Name  "Master" Then
einfügezeile = wsz.Cells(Rows.Count, "A").End(xlUp).Row + 1
With ws.Rows(3)
For az = 0 To UBound(ueberschrift)
Set rZelle = .Find(ueberschrift(az), LookAt:=xlWhole, LookIn:=xlValues)
If Not rZelle Is Nothing Then
iSpalte = iSpalte + 1
Kopierbereich = ws.Cells(Rows.Count, "A").End(xlUp).Row
ws.Range(ws.Cells(5, rZelle.Column), ws.Cells(Kopierbereich, rZelle.Column)) _
.Copy Destination:=wsz.Cells(einfügezeile, iSpalte)
End If
Next az
End With
iSpalte = 0
End If
Next ws
Application.ScreenUpdating = True
End Sub

Anzeige
Danke schön! ... kleine Nachfrage
20.04.2011 09:18:48
Dirk
Hallo Marc,
Dein CODE funktioniert super, vielen Dank!
Habe beim Testen gesehen, dass auch Formeln mitkopiert werden. Könnte man den CODE so anpassen, das nur die Werte kopiert werden, ohne Formeln?!
Für weitere Hilfestellungen schon mal vielen Dank im Voraus!
Gruß Dirk
AW: ... kleine Nachfrage
20.04.2011 09:27:46
Marc
Hi!
Schau dir mal in der Hilfe "PasteSpecial" an. Das mußt du statt "Destination:=..." einfügen. Als Parameter wird auf jeden Fall "xlPasteValues" benötigt.
Gruß, Marc
Vielen Dank Marc ...
20.04.2011 10:12:41
Dirk
... für mich ist schon heute Ostern, Dank Dir :-)
Sonnige Feiertage wünscht Dirk
PS.
Hab es jetzt so gelöst:
Sub Tabellen_zusammenführen()
ws.Range(ws.Cells(5, rZelle.Column), ws.Cells(Kopierbereich, rZelle.Column)).Copy
With wsz.Cells(einfügezeile, iSpalte)
.PasteSpecial Paste:=xlValues
End With
Application.CutCopyMode = False
End Sub

Anzeige
ich komm einfach nicht weiter, wer kann helfen?
20.04.2011 08:24:59
Dirk
Guten Morgen Zusammen,
habe noch ein wenig rumexperimentiert, aber leider ohne Erfolg.
Mein aktueller Versuch, nicht die ganze Spalte zu kopieren, sieht jetzt so aus:
ws.Range(Cells(3, rZelle.Column), Cells(loletzte, rZelle.Column)).Copy Destination:=wsz.Range("A1")
Nur hier bekomme ich folgende Fehlermeldung:
Laufzeitfehler 1004
Die Methode Range für das Objekt_Worksheet ist fehlgeschlagen

Was mach ich falsch?
Könnte mir da bitte jemand helfen?!
Vielen Dank
Gruß Dirk
AW: ich komm einfach nicht weiter, wer kann helfen?
21.04.2011 14:22:42
Dirk
Hallo!
Gehe da mal im Einzelschritt durch und stelle sicher, das alle variablen mit Werten vorhanden sind und die Worksheets gesetzt sind.
gruss
Dirk
Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige