22.09.2021, 13:50
Guten Tag,
ich würde wieder eure fachkundige Hilfe benötigen. Bei mir funktioniert meine For-Next-Schleife nicht!
Ich habe zwei Tabellenblätter: Tabelle1 und Tabelle2
Die Schleife bezieht sich auf Tabelle2; wenn in Spalte D "Telefono" oder "Teams" vorkommt, dann soll geprüft werden, ob das Datum in Spalte A derselben Zeile aktueller ist als jenes Datum in Tabelle1.
Den Datensatz in Tabelle1 finde ich über den Kundennamen, der sowohl in Tabelle1 als auch in Tabelle2 in Spalte B vorkommt.
Wenn das Datum in Tabelle2 aktueller bzw. jünger ist, dann soll in Tabelle1 das Datum aus Tabelle2 übernommen werden.
Jetzt durchläuft mein Code nur einen Schleife und läuft nicht durch. Die Berechnungen für die erste Schleife stimmen jedenfalls.
Somit stimmt etwas im Strukturaufbau meines Codes nicht, aber ich komme nicht drauf was genau ich hier übersehe.
Ich wäre sehr dankbar wenn mir jemand eine Korrektur geben könnte.
Besten Dank und schöne Grüße.
MirkoP
ich würde wieder eure fachkundige Hilfe benötigen. Bei mir funktioniert meine For-Next-Schleife nicht!
Ich habe zwei Tabellenblätter: Tabelle1 und Tabelle2
Die Schleife bezieht sich auf Tabelle2; wenn in Spalte D "Telefono" oder "Teams" vorkommt, dann soll geprüft werden, ob das Datum in Spalte A derselben Zeile aktueller ist als jenes Datum in Tabelle1.
Den Datensatz in Tabelle1 finde ich über den Kundennamen, der sowohl in Tabelle1 als auch in Tabelle2 in Spalte B vorkommt.
Wenn das Datum in Tabelle2 aktueller bzw. jünger ist, dann soll in Tabelle1 das Datum aus Tabelle2 übernommen werden.
Jetzt durchläuft mein Code nur einen Schleife und läuft nicht durch. Die Berechnungen für die erste Schleife stimmen jedenfalls.
Somit stimmt etwas im Strukturaufbau meines Codes nicht, aber ich komme nicht drauf was genau ich hier übersehe.
Ich wäre sehr dankbar wenn mir jemand eine Korrektur geben könnte.
Besten Dank und schöne Grüße.
MirkoP
Code:
Sub Find()
Dim rngTreffer As Range
Dim strSuchbegriff As String
Dim lngZeileTT As Long
Dim lngZeileTTMax As Long
With Tabelle2
lngZeileTTMax = .UsedRange.Rows.Count
For lngZeileTT = 3 To lngZeileTTMax
If .Cells(lngZeileTT, 4).Value = "Telefono" Or .Cells(lngZeileTT, 4).Value = "Teams" Then
strSuchbegriff = .Cells(lngZeileTT, 2).Value
Set rngTreffer = Tabelle1.Range("B:B").Find _
(What:=strSuchbegriff, LookIn:=xlValues, LookAt:=xlWhole)
If .Cells(lngZeileTT, 1).Value > rngTreffer.Offset(0, 14).Value Then
rngTreffer.Offset(0, 14).Value = .Cells(lngZeileTT, 1).Value
End If
End If
Next lngZeileTT
End With
End Sub