Morgen Rainer,
erstmal danke für die schnelle Hilfe,
die Formeln funktionieren, leider dauer t alles sehr lange, in unserem Fall jetzt geht das ohne Probleme, die richtige Datei ist wesentlich komplexer, ich versuche hier das Prinzip zu verstehen und es dann zu übertragen.
zum Beispiel weiss ich nicht wie viele Zeilen das Tool irgendwann mal hat, es kommen taeglich welche dazu.
Bei meinem jetzigen Makro, schreibt er mir zwar meine projekte/ WS und aktionen rein aber bildet die summe falsch, und die summe auf den monat bezogen fehlt auch noch!
Ich poste mal den code, vll faellt euch ja was ein. Wenn ich das Makro starte dauert es auch ziemlich lange, die Zeilem bauen sich langsam nacheinander auf, irgendwo ist eine Gechwindigkeitsbremse drin!
Rem Dim intZaehler As Long, intZeile As Long, intErgebnis As Single
Dim i As Long, j As Long
intZeile = 3 ' beginne in zeile 3
ThisWorkbook.Sheets("Auswertung1").Range("A3:G65500").ClearContents ' lösche inhalte
ThisWorkbook.Sheets("Auswertung1").Range("A3:G65500").ClearFormats ' lösche formate
For intZaehler = 23 To ThisWorkbook.Sheets("Planungstool").UsedRange.Rows.Count ' ab zeile 23 bis zum letzten Eintrag im Pltool
If ThisWorkbook.Sheets("Planungstool").Cells(intZaehler, 2) <> "Abwesendheitsstunden" Then ' damit er die Abwesenheitssh nicht reinschreibt
If ThisWorkbook.Sheets("Planungstool").Cells(intZaehler, 3) <> "" Then ' Ignoriere Leerzeilen
With ThisWorkbook.Sheets("Auswertung1")
.Cells(intZeile, 1).Value = ThisWorkbook.Sheets("Planungstool").Cells(intZaehler, 2).Value ' Projektnummern listen
.Cells(intZeile, 1).Borders.LineStyle = xlContinuous
.Cells(intZeile, 2).Value = ThisWorkbook.Sheets("Planungstool").Cells(intZaehler, 3).Value ' WS Nr listen
.Cells(intZeile, 2).Borders.LineStyle = xlContinuous
.Cells(intZeile, 3).Value = ThisWorkbook.Sheets("Planungstool").Cells(intZaehler, 4).Value ' Massnahmen listen
.Cells(intZeile, 3).Borders.LineStyle = xlContinuous
.Cells(intZeile, 4).Value = ThisWorkbook.Sheets("Planungstool").Cells(intZaehler, 5).Value ' Status
.Cells(intZeile, 4).Borders.LineStyle = xlContinuous
.Cells(intZeile, 5).Value = ThisWorkbook.Sheets("Import").Cells(intZaehler, 6).Value ' Status
.Cells(intZeile, 5).Borders.LineStyle = xlContinuous
.Cells(intZeile, 6).Value = ThisWorkbook.Sheets("Planungstool").Cells(intZaehler, 1).Value ' Berater
.Cells(intZeile, 6).Borders.LineStyle = xlContinuous
' Hier lösche ich die doppelte vorkommenden Projekt/WS Nr (komplette Spalte)
'For i = 1 To Range("A1000").End(xlUp).Row
'For j = 1 To Range("A1000").End(xlUp).Row
' If Range("A" & i).Value = Range("A" & j).Value And _
' i <> j Then Range("A" & j).ClearContents
' Next
' Next
End With
intZeile = intZeile + 1
End If
End If
Rem Next
With ThisWorkbook.Sheets("Planungstool")
'On Error Resume Next
intZaehler = 2
Do While ThisWorkbook.Sheets("Auswertung1").Cells(intZaehler, 1).Value <> ""
intErgebnis = 0
For intZeile = 3 To .UsedRange.Rows.Count
If ThisWorkbook.Sheets("Auswertung1").Cells(intZaehler, 1).Value = .Cells(intZeile, 3).Value Then
intErgebnis = intErgebnis + Application.WorksheetFunction.Sum(.Range(.Cells(intZeile, 6), .Cells(intZeile, 243))) ' summe januar bis dezember
End If
Next intZeile
With ThisWorkbook.Sheets("Auswertung1")
.Cells(intZaehler, 7) = intErgebnis
.Cells(intZaehler, 7).Borders.LineStyle = xlContinuous
End With
intZaehler = intZaehler + 1
Loop
'On Error GoTo 0
End With
End Sub
Gruss