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.

Werte per VBA mit Liste Vergleichen (Makro Optimierung)
#1
Video 
Hi zusammen,

ich habe ein Marko geschrieben, was eine Verkettung mehrerer Spalten mit per VBA einzutragende Werte eintragenden Werten vergleicht (In Kurz: Schaut ob der Eintrag schon vorhanden ist).

Hier das Makro:


Code:
Sub Vergleichen()

For i = 20 To 21

   ' --- Hier stehen die Werte aus dem Quellblatt ---
   
   ID = Cells(i, 1)
   DT = CDbl(Cells(i, 2)) 'Gibt Datum als dezimal Zahl wieder
   ML = Cells(i, 3)
   BE = Cells(i, 4)
   FB = Cells(i, 5)
   AK = Cells(i, 6)
   Ist_Wert = ID & DT & ML & BE & FB & AK
   
   ' --- Hier stehen die Werte aus dem Quellblatt ---
   
   For j = 10 To 30 ' --- Suchbereich! ---
       If Ist_Wert = Cells(j, 14) Then ' --- In Spalte 14 steht die Verkettung der 6 Spalten wo die Werte drin stehen. ---
           Debug.Print ("Klappt. Zeile:" & j)
           Exit For
       End If
   Next j

Next i

End Sub


Wo ich das Potential sehe ist die 2. For Schleife ... da gibts bestimmt was schlaueres. :)

Vielen dank schonmal.

Gruß Carsten
Antworten Top
#2
Hallo Carsten,

z.B. so:
   ' --- Hier stehen die Werte aus dem Quellblatt ---
  varF = Application.Match(Ist_Wert, Range("N10:N30"), 0)
  If Not IsError(varF) Then
     Debug.Print "Klappt. Zeile:" & varF + 9
  End If
Gruß Uwe
Antworten Top


Gehe zu:


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