Makro ist falsch, schleife läuft nicht richtig.
24.10.2015 09:30:00
Lukas
Ich hab ein kleines Problem, ich hab ein Makro das daTensetze aus tab1 in tab2 dem Datum nach einordnet. In Tab2 sind Kalenderwochen waagrecht angeordnet Alle 12 spalten fängt eine neue KW an.
Jetzt ist das Problem das es zwar richtig zuordnet aber wenn das Datum des Datensatzes in Tab 1 eine Woche überschreitet dann wird er nur ich die ersten Woche kopiert.
Das ist das Makro
Sub Kopieren(Zeile As Long)
Dim wsDaten As Worksheet
Dim wsZiel As Worksheet
Dim lngSpalteD As Long
Dim lngZeileD As Long
Dim strSpalte As String
Dim rng As Range
Set wsDaten = Worksheets("UP Datum")
Set wsZiel = Worksheets("UP Wochen")
'Variable Erster Bereich Enddatum
lngSpalteD = 7
Do Until IsEmpty(wsZiel.Cells(2, lngSpalteD)) Or wsZiel.Cells(2, lngSpalteD) >= wsDaten.Cells( _
Zeile, 6)
lngSpalteD = lngSpalteD + 12
Loop
If Not IsEmpty(wsZiel.Cells(2, lngSpalteD)) Then
strSpalte = Mid(Cells(2, lngSpalteD + 5).Address, 2, InStr(2, wsZiel.Cells(2, lngSpalteD + _
5).Address, "$") - 2)
Set rng = wsZiel.Range(strSpalte & ":" & strSpalte).Find(What:=wsDaten.Cells(Zeile, 12). _
Value)
If rng Is Nothing Then
lngZeileD = 4
Do Until IsEmpty(wsZiel.Cells(lngZeileD, lngSpalteD - 3))
lngZeileD = lngZeileD + 1
Loop
Else
lngZeileD = rng.Row
End If
wsDaten.Range(Cells(Zeile, 1).Address & ":" & Cells(Zeile, 12).Address).Copy wsZiel.Range( _
Cells(lngZeileD, lngSpalteD - 6).Address)
End If
wsZiel.UsedRange.FormatConditions.Delete
End Sub
Wie pass ich das richtig an?
Danke für die Hilfe
Gruß Lukas