716 Aufrufe
Gefragt in Tabellenkalkulation von florian1010 Mitglied (754 Punkte)
Hallo Zusammen,

beim erstellen eines Makros bin ich mal wieder an meine Grenzen gestoßen.

If .Cells(lngZeile, 14) = Date + 1 And 2 And 3 Or .Cells(lngZeile, 15) = Date + 1 And 2 And 3 Then

funktioniert leider nicht. Hier Zeigt es mir nur den morgigen Tag an.



hier noch das komplette Makro:


Sub Zeilen_kopieren()
Dim lngLetzte As Long
Dim lngZeile As Long
With Worksheets("KvA")
lngLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 2)), .Cells(.Rows.Count, 2).End(xlUp).Row, .Rows.Count) + 1
End With
With Worksheets("Gen. 2012")
For lngZeile = IIf(IsEmpty(.Cells(.Rows.Count, 2)), .Cells(.Rows.Count, 2).End(xlUp).Row, .Rows.Count) To 2 Step -1
If .Cells(lngZeile, 14) = Date + 3 Or .Cells(lngZeile, 15) = Date + 1 And 2 And 3 Then
.Range(.Cells(lngZeile, 1), .Cells(lngZeile, 21)).Copy Worksheets("KvA").Cells(lngLetzte, 1)
lngLetzte = lngLetzte + 1
End If
Next lngZeile
End With
End Sub


Ich hab hier noch eine Frage, wie und wo ich es in das obere Makro einbauen kann, dass es mir vor dem "Befüllen" in Sheet "KvA" alle Daten ab Zeile 3 löscht. Habe es bislang als separates Makro laufen.

Sub Zeilen_Löschen()

ActiveSheet.Range("$A$5:$Z$400").AutoFilter
Range(Rows(3), Rows(Rows.Count)).Delete

End Sub



Vielen Dank für eure Hilfe

Gruß
Florian

1 Antwort

0 Punkte
Beantwortet von florian1010 Mitglied (754 Punkte)
Sorry - muss es so umständlich machen, da mich die Firewall extrem einschränkt.

Die Frage dazu sollte sein:

Kann mir bei meinem Problem hier jemand helfen? Es soll dabei die folgenden 3 Tage anzeigen. Die Tage sind in Spalte I und J.

Mein Idee war es so abzuhandeln.

f .Cells(lngZeile, 14) = Date + 1 And 2 And 3 Or .Cells(lngZeile, 15) = Date + 1 And 2 And 3 Then

Danke
Gruß Florian
...