Habe mal begonnen. Das Problem ist, dass heir mal die Prozentsätze händisch eingetragen sind.Das Makro soll aber die Summer über die Splaten mit "X" bilden und dann die Prozente jender Spalten berechnen, die ein X haben.
Sub VerteileArbeitsstunden()
Dim ws As Worksheet
Dim lastRow As Long, lastCol As Long
Dim i As Long, j As Long
Dim arbeitsstunden As Double
Dim prozentsatzF As Double, prozentsatzG As Double '
Definiere das Arbeitsblatt
Set ws = ThisWorkbook.Sheets("Tabelle1")
' Finde die letzte Zeile und Spalte mit Daten
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
' Durchlaufe die Daten und verteile die Arbeitsstunden
For i = 5 To lastRow ' Beginne bei Zeile 5, da die erste Zeile Überschriften enthält
' Setze die Arbeitsstunden für die aktuelle Person
arbeitsstunden = ws.Cells(i, "AH").Value
' Berechne die Prozentsätze
prozentsatzF = arbeitsstunden * 0.24
prozentsatzG = arbeitsstunden * 0.43 '
Setze die Werte in die entsprechenden Zellen
ws.Cells(i, "S").Value = WorksheetFunction.RoundDown(prozentsatzF, 0)
ws.Cells(i, "U").Value = WorksheetFunction.RoundDown(prozentsatzG, 0)
ws.Cells(i, "W").Value = arbeitsstunden - ws.Cells(i, "S").Value - ws.Cells(i, "U").Value
' Optional: Formatierung der Zellen anpassen
ws.Cells(i, "S:W").NumberFormat = "0"
Next i
End Sub
|