ich arbeite derzeit an einem Makro, welches aus Buchungssätzen die jeweilige Kalenderwoche herausliest. Soweit klappt es ganz gut aber nun habe ich eine Frage.
Also: in Spalte F stehen die Buchungstexte, in Spalte H soll die jeweilige KW ausgegeben werden. In Spalte A steht das Buchungsdatum.
Bisher sah meine Suchfunktion so aus:
Sub KW_füllen()
Dim Zelle As Range
Dim Textanfang As Long
Dim Letzte As Long
Letzte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
For Each Zelle In ActiveSheet.Range("F2:F" & Letzte)
If InStr(Zelle, "KW") > 0 Then
Textanfang = InStr(Zelle, "KW")
Zelle.Offset(0, 2).Value = Mid(Zelle, Textanfang, 4)
End If
Es wird also über InStr nach dem String gesucht und zwei Spalten weiter wird die KW dann ausgegeben. Es gibt auch noch weitere Bedingungen (z.B. wenn ein Leerzeichen zwischen "KW" und KW-Nummer ist). Klappt auch bisher alles.Hier nun mein Anliegen: einige Buchungssätze enthalten keine KW. Bei ihnen wird die KW gewählt, in der sie gebucht wurden (Spalte A). Sie sind auch vom Buchungstext immer gleich, weswegen sie leicht gefunden werden können. Wie schaffe ich es also, dass VBA diesen Buchungssatz erkennt, sich auf Spalte A bezieht und die Kalenderwoche des dortigen Datums ausgibt?
Ich habe es mit FormulaLocal und KALENDERWOCHE versucht, hatte bisher aber keinen erfolg. Ich bin für alle Ideen offen.
Bis dahin beste Grüße