ich habe folgenden Wunsch:
Soll-Zustand
Ich möchte zur Auwertung von Daten ein Add-in für mich erstellen, welches dazu führt, dass:
ausgeblendete Tabellenblätter gelöscht werden.
die Namen aller Tabellenblätter in ein neues Sheet (Zusammenfassungssheet) kopiert werden.
bestimmte Daten aus jedem Sheet ("E6:E77;O6:O77") in das "Zusammenfassungssheet" kopiert werden.
Das Problem welches ich habe ist, dass die Tabellensheets mittels eines Programms erzeugt werden, und für jeden Versuch individuell sind, das bedeutet:
die Reiter heißen in jedem Excelsheet anders.
je nach Fragestellung können es mehr oder weniger Reiter sein.
Ist-Zustand
Was ich bisher zustande gebracht habe ist folgendes:
Die ausgeblendeten Tabellenblätter werden gelöscht.
Die Individuellen Reiternamen, werden mir in ein neues Tabellenblatt kopiert. (Allerdings bin ich mit der Darstellung nicht wirklich zufrieden.)
Der Idealfall des Add Ins
Gehen wir von fünf Reitern aus,
dann würde ein neues Tabellenblatt entstehen "Data"
in "Data" würde dann in A1: Reitername1, in C1: Reitername2, [...], in I1: Reitername5 stehen.
des weiteren würde in A2:B2 Range("E6:E77;O6:O77") aus Reitername1, in C2:D2 Range("E6:E77;O6:O77") aus Reitername2, [...], in I2:J2 Range("E6:E77;O6:O77") aus Reitername5 stehen.
Aktuell sieht mein Code dazu wie folgt aus:
Sub ExcelExp_Short_Dataconclusion()
'Löschen von ausgeblendeten Reitern'
Dim wksWorksheet As Worksheet
For Each wksWorksheet In ActiveWorkbook.Worksheets
If wksWorksheet.Visible xlSheetVisible Then wksWorksheet.Delete
Next wksWorksheet
' Einfügen eines Neuen Reiters'
Dim wsNew As Worksheet
Set wsNew = Worksheets.Add
With wsNew
.Name = "Data"
.Move after:=Sheets(Sheets.Count)
End With
Set wsNew = Nothing
' Einfügen der Reiternamen in den neuen Reiter'
Dim ws As Worksheet
Dim X As Integer
X = 1
For Each ws In Worksheets
Cells(X, 1) = ws.Name
X = X + 1
Next ws
End Sub
Ich hoffe jemand kann mir helfen. Ein Riesendank im vorraus.