Hallo zusammen,
zunächst einmal eine kurze Einleitung in meine Problemstellung:
Ich habe das Excel-Sheet als gekürzte Variante meiner Ausgangsversion (Link siehe Edit ganz unten). Dort habe ich im Blatt "Stammdaten" eine Liste der Mitarbeiter. Diese Liste will ich abarbeiten und dazu im Blatt "Datenbasis" ihren Einsatz in der jeweiligen Kalenderwoche zurückverfolgen.
Soll heißen, ich habe in den Stammdaten in Spalte G eine Anzahl an noch verfügbaren Tagen und will am Ende einer Woche überprüfen, wie diese Woche war um zu sehen, wie die weitere Verfügbarkeit noch aussieht.
Der Anfang hat noch gut geklappt: Ich nehme einen Mitarbeiter aus der Liste (-> Sub DatenAktualisieren) und lasse ihn per Autofilter in den Stammdaten herausfiltern (-> Function getTage). Somit habe ich in Spalte L der Stammdaten nur noch die Werte des tatsächlichen Einsatz dieses Mitarbeiters der letzten Woche. Diese Werte will ich nun mit Hilfe der TEILERGEBNIS-Funktion addieren, da ich nur die sichtbaren Zeilen betrachten darf.
Dabei springt mir mein Programm jedoch immer in Zelle $B$31 und addiert nichts auf. Könnt ihr mir dabei helfen?
Danke und Gruß
eL dios
Edit:
Da das mit dem Hochladen so wohl nicht funktioniert, ist hier ein Link zu der Datei.
zunächst einmal eine kurze Einleitung in meine Problemstellung:
Ich habe das Excel-Sheet als gekürzte Variante meiner Ausgangsversion (Link siehe Edit ganz unten). Dort habe ich im Blatt "Stammdaten" eine Liste der Mitarbeiter. Diese Liste will ich abarbeiten und dazu im Blatt "Datenbasis" ihren Einsatz in der jeweiligen Kalenderwoche zurückverfolgen.
Soll heißen, ich habe in den Stammdaten in Spalte G eine Anzahl an noch verfügbaren Tagen und will am Ende einer Woche überprüfen, wie diese Woche war um zu sehen, wie die weitere Verfügbarkeit noch aussieht.
Der Anfang hat noch gut geklappt: Ich nehme einen Mitarbeiter aus der Liste (-> Sub DatenAktualisieren) und lasse ihn per Autofilter in den Stammdaten herausfiltern (-> Function getTage). Somit habe ich in Spalte L der Stammdaten nur noch die Werte des tatsächlichen Einsatz dieses Mitarbeiters der letzten Woche. Diese Werte will ich nun mit Hilfe der TEILERGEBNIS-Funktion addieren, da ich nur die sichtbaren Zeilen betrachten darf.
Dabei springt mir mein Programm jedoch immer in Zelle $B$31 und addiert nichts auf. Könnt ihr mir dabei helfen?
Danke und Gruß
eL dios
Code:
Sub DatenAktualisieren()
Dim intZeile As Integer
Dim name As String
Dim summe As Integer
For intZeile = 2 To letzteZeile
name = Cells(intZeile, 2) & " " & Cells(intZeile, 1).Value
summe = getTage(name)
Next intZeile
End Sub
Function getTage(name As String) As Integer
Dim Summe As Integer
Dim cell As Range
Sheets("Datenbasis").Select
ActiveSheet.Range("$A$1:$G$17").AutoFilter Field:=1, Criteria1:=name
MsgBox ActiveCell.Address 'Kontrollausgabe der aktiven Zelle
Summe = Application.WorksheetFunction.Subtotal(9, Range("$L:$L"))
MsgBox Summe 'Kontrollausgabe
' Zuruecksetzen des Filters fuer die naechste Iteration
ActiveSheet.Range("$A$1:$G$17").AutoFilter Field:=1
Sheets("Stammdatenblatt").Select
getTage = Summe
End Function
Function letzteZeile() As Integer
Dim Ende As Long
Ende = 0
Do Until Cells(Ende + 1, 1) = ""
Ende = Ende + 1
Loop
letzteZeile = Ende
End Function
Edit:
Da das mit dem Hochladen so wohl nicht funktioniert, ist hier ein Link zu der Datei.
Zuletzt bearbeitet: