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

Forumthread: Nicht alle Tabellenblätter zusammenführen

Nicht alle Tabellenblätter zusammenführen
27.01.2018 10:59:33
parza
Hallo zusammen,
im Internet habe ich eine Programmierung gefunden, die für mich bis auf eine Kleinigkeit (?) perfekt funktio-niert:
In meiner Tabelle sind alle Registerkarten gleich aufgebaut, bis auf drei, in denen sich zusätzlichen Daten und Berechnungen befinden und ich in der Zusammenführung nicht brauche.
Gibt es eine Möglichkeit, die Programmierung so zu ändern, dass diese Tabellenblätter (Tabelle11, Tabelle12, Tabelle13) beim Zusammenführen ausgelassen werden.
Danke, parza
Sub KonsolidiereMal()
Dim wks As Worksheet
Dim wksK As Worksheet
Dim lngLetzteZeileKons As Long
Dim lngAbZeile As Long
Application.DisplayAlerts = False
On Error Resume Next
Set wksK = ActiveWorkbook.Worksheets("Konsolidierung")
wksK.Delete
On Error GoTo 0
Set wksK = Worksheets.Add(Before:=ActiveWorkbook.Sheets(1))
wksK.Name = "Konsolidierung"
lngLetzteZeileKons = 0
For Each wks In ActiveWorkbook.Worksheets
If wks.Name  wksK.Name Then
lngAbZeile = lngLetzteZeileKons + 1
wks.Range(wks.Cells(1, 1), wks.Cells(wks.Cells.SpecialCells(xlCellTypeLastCell).Row, 254)). _
Copy _
Destination:=wksK.Cells(lngAbZeile, 2)
lngLetzteZeileKons = wksK.Cells.Find(What:="*", _
After:=wksK.Cells(1), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
wksK.Range(wksK.Cells(lngAbZeile, 1), wksK.Cells(lngLetzteZeileKons, 1)) = wks.Name
End If
Next
Application.DisplayAlerts = True
End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nicht alle Tabellenblätter zusammenführen
27.01.2018 11:02:45
Hajo_Zi
For Each wks In ActiveWorkbook.Worksheets
If wks.name "Tabelle11" and wks.name "Tabelle12" and wks.name "Tabelle13" then

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung....."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert und folgende lese ich nicht.
Anzeige
AW: Nicht alle Tabellenblätter zusammenführen
27.01.2018 11:12:42
parza
Danke für die super schnelle Antwort. Leider kommt aber eine Debugmeldung, in der diese Zeilen gelb hinterlegt sind.
lngLetzteZeileKons = wksK.Cells.Find(What:="*", _
After:=wksK.Cells(1), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Anzeige
AW: Nicht alle Tabellenblätter zusammenführen
27.01.2018 12:04:59
Sulprobil
Ungetestet:
Ersetze
If wks.Name wksK.Name Then
durch
If Not ( wks.Name = wksK.Name Or wks.Name = "Tabelle11" Or wks.Name = "Tabelle12" Or wks.Name = "Tabelle13" ) Then
Eine allgemeinere Lösung bestünde darin, z. B. das Programm Rless
http://sulprobil.com/Get_it_done/IT/Excel_Fun/Excel_VBA/Rless/rless.html
für (String-)Mengen umzuschreiben.
Viele Grüße,
Bernd P
Anzeige
AW: Nicht alle Tabellenblätter zusammenführen
27.01.2018 11:25:10
Gerd
Hallo P.
das vierte Blatt hat der Titelverteidiger nicht gesehen.
nur der Schleifen-Teil:
For Each wks In ActiveWorkbook.Worksheets
Select Case wks.Name
Case wksk.Name, "Tabelle11", "Tabelle12", "Tabelle13"
Case Else
lngAbZeile = lngLetzteZeileKons + 1
wks.Range(wks.Cells(1, 1), wks.Cells(wks.Cells.SpecialCells(xlCellTypeLastCell).Row, 254)).  _
_
Copy _
Destination:=wksk.Cells(lngAbZeile, 2)
lngLetzteZeileKons = wksk.Cells.Find(What:="*", _
After:=wksk.Cells(1), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
wksk.Range(wksk.Cells(lngAbZeile, 1), wksk.Cells(lngLetzteZeileKons, 1)) = wks.Name
End Select
Next
Gruß Gerd
Anzeige
AW: Nicht alle Tabellenblätter zusammenführen
27.01.2018 11:36:31
parza
Vielen Dank,
in meiner Testdatei zuhause hat es schon mal perfekt funktioniert. Werde es am Montag noch in der Arbeit probieren.
Schönes Wochenende, parza
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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