ich versuche die Problemstellung mal so verständlich wie möglich zu erklären:
Ich will einen Datensatz (variiert von Monat zu Monat) in ein Tabellenblatt einfügen und alle Zeilen löschen lassen die ich nicht brauche (Bezugspunkte sind Zellen in Spalte A).
Die Bedingungen sind eigentlich ganz schnell erklärt, eine Zeile soll gelöscht werden, wenn der Wert in der Bezugszelle folgende Bedingungen nicht erfüllt:
1.) Value = "Summe "
2.) Value > 1000 (Tabellenblatt "Tabelle1" meine ich Werte wie 2032, 2035, 2072 usw.)
3.) Value Like StrLiefNr (Der Wert soll dem String ähnlich sein, es gibt nämlich auch Zellenwerte mit dem String-Wert + ein Index wie A/B/C... hinten dran)
Hoffe ich habe es einigermaßen verständlich erklärt, natürlich habe ich mich schon an einer Lösung versucht, es funktioniert aber leider nicht so wie ich mir das vorstelle. Mein Code löscht lediglich Zeilen, wenn die Bezugszelle leer ist :( Hier der Code, ich hoffe mir kann jemand helfen:
Sub Überflüssige_Zeilen_Löschen()
Dim IntLetzteZelleSpalteA As Integer
Dim IntZaehlerSpalteA As Integer
Dim StrSumme As String
Dim StrAZ As String
Dim StrLieferNr As String
Sheets("Tabelle1").Select
StrSumme = "Summe "
'StrAZ = ["*A-Z*"]
StrLieferNr = Sheets("Tabelle2").Range("A1")
With ActiveSheet
IntLetzteZelleSpalteA = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
For IntZaehlerSpalteA = 2 To IntLetzteZelleSpalteA
If _
Sheets("Tabelle1").Cells(IntZaehlerSpalteA, 1).Value = StrSumme Or _
Sheets("Tabelle1").Cells(IntZaehlerSpalteA, 1).Value > 1000 Or _
Sheets("Tabelle1").Cells(IntZaehlerSpalteA, 1).Value Like StrLieferNr Then
'Falls Bed. erfüllt mache nichts und gehe weiter zu Next
Else
Sheets("Tabelle1").Rows(IntZaehlerSpalteA).Select
Selection.Delete
IntZaehlerSpalteA = IntZaehlerSpalteA - 1
End If
Next
End Sub
Hier geht's zur Datei:https://www.herber.de/bbs/user/107294.xlsm
Vielen Dank im Voraus!
Beste Grüße
SZ