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

Blätter zusammenführen, erste Zeile überspringen

Blätter zusammenführen, erste Zeile überspringen
29.07.2014 14:43:32
Gero
Liebe Excel-Profis,
ich habe hier im Forum bereits eine Antwort darauf gefunden, wie man die Inhalte mehrerer Arbeitsblätter automatisch in ein einziges Blatt kopieren kann (ich habe den Code schon leicht modifiziert):

Sub Zusammenführen()
Dim wksT As Worksheet
Dim wksS As Worksheet
Dim i As Integer
Dim RowsT As Integer
Application.ScreenUpdating = False
Set wksT = ActiveWorkbook.Sheets.Add(, Worksheets(Worksheets.Count), , xlWorksheet)
wksT.Name = "Zusammenführen"
For i = 1 To Worksheets.Count - 1 - 7
Set wksS = Worksheets(i)
RowsT = wksT.Cells(Rows.Count, 1).End(xlUp).Row
wksS.UsedRange.Copy Destination:=wksT.Cells(RowsT, 1)
Next i
End Sub
Nun möchte ich zwei Dinge ändern.
1. Aus meinen Arbeitsblättern soll die erste Zeile (enthält Überschriften) n i c h t mitkopiert werden. Dafür muss sicherlich irgendwo eine "-1" eingefügt werden... nur wo?
2. Die For-Schleife läuft zurzeit für die ersten "(Anzahl Blätter minus 8)" durch. Gibt es eine Möglichkeit, die Position eines bestimmten Arbeitsblatt über seinen Namen herauszufinden? Ich möchte nämlich nur die Inhalte von den Arbeitsblättern links von einem bestimmten Blatt untereinanderkopieren.
Danke im Voraus für eure Hilfe.

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

Betreff
Datum
Anwender
Anzeige
AW: Blätter zusammenführen, erste Zeile überspringen
29.07.2014 15:05:32
Rudi
Hallo,
    For i = 1 To Worksheets("DasBlatt").Index - 1
Set wksS = Worksheets(i)
RowsT = wksT.Cells(Rows.Count, 1).End(xlUp).Row
wksS.UsedRange.OffSet(1).Copy Destination:=wksT.Cells(RowsT, 1)
Next i

AW: Blätter zusammenführen, erste Zeile überspringen
31.07.2014 15:13:56
Gero
Danke! Mit eurer Hilfe habe ich's hinbekommen.

AW: Blätter zusammenführen, erste Zeile überspringen
29.07.2014 15:06:42
Oberschlumpf
Hi Gero
zu 1. (ungetestet, weil keine Bsp-Datei)
füge als letzte Zeile vor der Next i Zeile die fettgedruckte Zeile ein:

wksT.Rows(1).Delete
Next i
zu 2. (ungetestet, weil...)
ändere die For/Next-Schleife + füge diese IF-Bedingung ein (fettgedruckt):

For i = 1 To Worksheets.Count
If Worksheets(i).Name = "DeineGesuchteTabelle1" Or _
Worksheets(i).Name = "DeineGesuchteTabelle2" Or _
Worksheets(i).Name = "DeineGesuchteTabelle3" Then
Set wksS = Worksheets(i)
RowsT = wksT.Cells(Rows.Count, 1).End(xlUp).Row
wksS.UsedRange.Copy Destination:=wksT.Cells(RowsT, 1)
wksT.Rows(1).Delete
End If
Next i

Für "DeineGesuchteTabelle1-3" und weitere musst du natürlich genau die Tabellennamen eintragen, um die es dir geht.
Hilfts?
Ciao
Thorsten
Anzeige

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige