Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1164to1168
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

Wie am besten Inhalt von vielen Sheets kopieren?

Wie am besten Inhalt von vielen Sheets kopieren?
vielen
Hallo,
ich habe eine Excel Datei, in der verschiedene Tabellenblätter sind.
Nun erstelle ich ein neues Tabellenblatt und möchte nacheinander von jedem
Tabellenblatt alle Zeilen ab Zeile 19 in das neue Tabellenblatt kopieren.
Im neuen Tabellenblatt soll also alles angefügt werden.
Wie setze ich das am besten um? Zellenweise kopieren ist aufwendig und dauert bestimmt lange.
Also wollte ich immer eine Range definieren und diese dann kopieren. Nur weiß ich ja
nicht die Zielrange, da diese ja nicht fix ist.
Wie kann ich das lösen?
Oder ein Array benutzen?
Duch worksheest schleifen kann ich,mir fehlt der eigentliche "KopierCode"
Gruß
Holger
AW: Wie am besten Inhalt von vielen Sheets kopieren?
01.07.2010 15:00:40
vielen
Hallo Holger,
ist das immer der selbe konstante Kopierbereich?
Soll im Zielblatt ab A2 eingefügt werden ?
Gruß Gerd
AW: Wie am besten Inhalt von vielen Sheets kopieren?
01.07.2010 16:11:15
vielen
Hallo Gerd,
also im ZielWorkSheet kann es ab A1 losgehen.
In den SourceWorkSheets geht es immer ab A19 los,
und das Ende ist wohl immer verschieden.
AW: Wie am besten Inhalt von vielen Sheets kopieren?
01.07.2010 15:50:06
vielen
Hallo Holger, hier mal ein Ansatz:
Option Explicit
Sub Anfuegen()
Dim objWorksheet As Worksheet
Dim lngLastRowQuelle As Long
Dim lngLastRowZiel As Long
Const coKonsSheetName = "Konsolidierung"
Const coStartLine = 19
With Sheets(coKonsSheetName)
.Activate
.Range("A1") = "Zusammenfassung"
End With
For Each objWorksheet In ThisWorkbook.Worksheets
If objWorksheet.Name  coKonsSheetName Then
With objWorksheet
lngLastRowQuelle = .Cells.Find(What:="*", After:=Range("A1"), _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
End With
lngLastRowZiel = Cells.Find(What:="*", After:=Range("A1"), _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
objWorksheet.Rows(coStartLine & ":" & lngLastRowQuelle).Copy _
Destination:=Cells(lngLastRowZiel, 1).Offset(1, 0)
End If
Next
End Sub
Gruß
erwin
Anzeige
AW: Wie am besten Inhalt von vielen Sheets kopieren?
01.07.2010 16:13:38
vielen
Hallo erwin,
Es istr heiss und dann noch dein Code.
Also ich bin ja noch Anfänger und deine Lösung kapiere ich nur zum Teil.
Einfach Copy & Paste und verwenden ohne zu verstehen was ich da tue,
will ich nicht. Was z.B macht diese Zeile?
Gibt es noch eine Lösung mit einem Code, der nicht so anspruchsvoll ist?
Sub verstehichnicht ()
lngLastRowZiel = Cells.Find(What:="*", After:=Range("A1"), _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
objWorksheet.Rows(coStartLine & ":" & lngLastRowQuelle).Copy _
Destination:=Cells(lngLastRowZiel, 1).Offset(1, 0)
End Sub

Anzeige
AW: Wie am besten Inhalt von vielen Sheets kopieren?
01.07.2010 16:18:24
vielen
Hallo Holger,
eine Anmerkung noch zum Code: Er steigt noch aus, wenn ein zu verarbeitendes Blatt leer sein sollte. Müßte man noch abfangen.
Zu Deiner Frage:
Das erste Statement ermittelt die letzte Zeile im Zielblatt
Das zweite Statement ist der stinknormale copy-Befehl
Versuchs noch mal nach einer Abkühlung zu lesen.
Ich sehe hier nichts anspruchsvolles.
Gruß
erwin
AW: Wie am besten Inhalt von vielen Sheets kopieren?
01.07.2010 16:23:03
vielen
Hallo,
wenn du nichts anspruchvolles siehst, dann schau mal, was meine Idee gewesen wäre
(ich denke mal, du machst das schon zu lange, um dich in einen Anfänger zu versetzen).
Zwei rangeBereiche definieren, einen Ziel, einen Target.
Dann mit Ermittlung der letzten Zelle die Ranges füllen.
Dann rngSource.copy rngTarget
Leider hänge ich noch bei der genauen Umsetzung des Gedanken.
Ok, schaue mir deinen Code nochmal an!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige