Sub ZusammenfassungWksAll()
Call EventsOff
Worksheets("Übersicht").Activate
Dim UesSpIndex As Long
Dim PrIndex As Long
Dim NlisteEnde As Long
Dim NlisteAnz As Long
Dim DatSpIndex As Long
Dim DatZeIndex As Long
Dim DatQ As Long
Dim DatZ As Long
Dim Wks As Long
Dim LesenDat As Long
UesSpIndex = Worksheets("Übersicht").UsedRange.SpecialCells(xlCellTypeLastCell).Column
NlisteEnde = Worksheets("Übersicht").Cells(Rows.Count, 2).End(xlUp).Row
NlisteAnz = Worksheets("Übersicht").Cells(Rows.Count, 2).End(xlUp).Row - 19
For PrIndex = UesSpIndex To 3 Step -1
If UCase(Mid(Cells(3, PrIndex), 1, 7)) = "PROJEKT" And IsoZahl(Cells(3, PrIndex)) > 0 Then
UesSpIndex = PrIndex
Exit For
End If
Next PrIndex
ReDim Ues(1 To 12, 1 To UesSpIndex - 2) As Variant
ReDim NamenListe(1 To NlisteAnz, 1 To UesSpIndex - 2) As Variant
Range(Cells(4, 3), Cells(15, UesSpIndex)) = ""
Range(Cells(NlisteEnde - NlisteAnz, 3), Cells(NlisteEnde, UesSpIndex)) = ""
Ues() = Range(Cells(3, 3), Cells(15, UesSpIndex))
NamenListe() = Range(Cells(NlisteEnde - NlisteAnz, 2), Cells(NlisteEnde, UesSpIndex))
For Wks = 1 To UBound(NamenListe())
Worksheets(NamenListe(Wks, 1)).Activate
DatSpIndex = Worksheets(NamenListe(Wks, 1)).UsedRange.SpecialCells(xlCellTypeLastCell).Column
DatZeIndex = Worksheets(NamenListe(Wks, 1)).Cells(Rows.Count, 1).End(xlUp).Row
For PrIndex = DatSpIndex - 2 To 3 Step -1
If UCase(Mid(Ues(1, PrIndex), 1, 7)) = "PROJEKT" And IsoZahl(Ues(1, PrIndex)) > 0 Then
DatSpIndex = PrIndex
Exit For
End If
Next PrIndex
ReDim Datens(0 To DatZeIndex, 1 To DatSpIndex) As Variant
Datens() = Range(Cells(3, 1), Cells(DatZeIndex, DatSpIndex))
For DatQ = 1 To DatSpIndex
For DatZ = 3 To UesSpIndex - 2
If IsoZahl(Datens(1, DatZ)) = IsoZahl(Ues(1, DatQ)) Then
For LesenDat = 2 To DatZeIndex - 3
Ues(Month(Datens(LesenDat, 1)) + 1, DatQ) = Ues(Month(Datens(LesenDat, 1)) + 1, DatQ) + Datens(LesenDat, DatZ)
NamenListe(Wks, DatQ + 1) = NamenListe(Wks, DatQ + 1) + Datens(LesenDat, DatZ)
Next LesenDat
End If
Next DatZ
Next DatQ
Next Wks
Worksheets("Übersicht").Activate
Range(Cells(3, 3), Cells(15, UesSpIndex)) = Ues()
Range(Cells(NlisteEnde - NlisteAnz, 2), Cells(NlisteEnde, UesSpIndex)) = NamenListe()
Call EventsOn
End Sub
Public Function IsoZahl(Zellen As Variant) As Integer
Dim Zelle As Range
Dim AnzZeichen As Integer
Dim schalter As Boolean
Dim AnzZindex As Integer
Dim StringFund As Integer
AnzZindex = 1
For AnzZeichen = 1 To Len([Zellen])
If Mid([Zellen], AnzZeichen, 1) Like "[0-9]" = True Then
StringFund = StringFund & Mid([Zellen], AnzZeichen, 1)
schalter = True
End If
If schalter = True And Mid([Zellen], AnzZeichen, 1) Like "[0-9]" = False Then
AnzZindex = AnzZindex + 1
schalter = False
End If
Next AnzZeichen
IsoZahl = StringFund
End Function