Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

For-Next-Schleife funktioniert nicht
#1
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




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
Antworten Top
#2
Noch einmal guten Tag,
mein Code läuft so wie er steht!
Ich hatte einen Denkfehler, den ich erst jetzt entdeckte.
Bei den restlichen Zeilen der Schleife waren die Bedingungen nicht auf "Telefono" oder "Teams". So kann natürllich keine Aktualisierung der der Daten erfolgen!
Dennoch vielen Dank und schönen Tag,
MirkoP
Antworten Top
#3
Hallo Mirko,
es ist keine gute Idee, Systembezeichnungen als eigene Namen zu verwenden (Sub Find). Find ist eine Methode von Excel...
Gruß der AlteDresdner (Win11, Off2021)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste