ich wende mich heute mit einem Problem an euch, dass mich gerade seit 3 Stunden ratlos zurücklässt und bei dem ich nicht weiß, wie ich es ergooglen soll.
Folgende Aufgabenstellung habe ich: Ich möchte eine Funktion in VBA erstellen, die ich auch in einem Tabellenblatt anwenden kann. Dieser Funktion übergebe ich zwei Range-Objekte, im Anwendungsfall ist das der Zellbezug zu einem Datum und eine Spalte von Arbeitsstunden.
Die abstrakte Aufgabenstellung besteht darin, aus einer übergebenen Spalte einen Teil (anhand zweier Zeilenangaben von bis) in einem Range-Objekt zu referenzieren.
Public Function Wochensaldo_berechnen(Datum As Range, Arbeitsstunden As Range) as Double
Dim Woche as Range
With Arbeitsstunden
Set Woche = .Range(.Cells(1, 1), .Cells(Datum.Row, 1))
End With
Debug.print Arbeitsstunden.Address
Debug.Print Woche.Address
End Function
Ich möchte aus dieser Spalte "Arbeitsstunden" einen bestimmten Teil (eine Woche) "ausschneiden" und damit weiterrechnen.Leider funktioniert es nicht wie oben beschrieben. Der Fehler ist, dass die Adresse im Range-Objekt "Woche" sich komischerweise sowohl in Bezug auf Spalte als auch Zeile verschiebt. Die Zeilenanzahl stimmt allerdings, also scheint es diesbezüglich zu klappen.
Wer kann mir da weiterhelfen? Habe ich etwas Theoretisches übersehen? Ich freue mich über jeden Tipp und bedanke mich für die Aufmerksamkeit.
Grüße aus Dresden
Erik