Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1584to1588
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Treffer finden und Text eingeben

Treffer finden und Text eingeben
09.10.2017 12:04:38
Zoi
Hallo, ich habe ein code hier, es geht um bestimmter treffer (Nummer) finden die in zwei unterschiedlichen Tabellen sind. ws1 ist aktuelle, und ws2 ist die zweite.
Wenn ein treffer gefunden ist in (Spalte 3)in beide Tabellen, dann sollte: von ws2 spalte L, die betroffene treffer, wo der Wert "NEIN "steht ,
in Spalte AY in ws1, "F" geschrieben sein.
Das code finktioniert .,zeigt aber keine Fehlermeldung und auch keine Ergebnisse in Spalte AY.
Was könnte Falsch sein?
Grüße, Zoi

Sub Update()
Dim i As Long, lastrow As Long, findZeile As Long
Dim wb1 As Workbook, wb2 As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet
Dim treffer As Object
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set wb1 = ThisWorkbook
Set ws1 = wb1.Sheets("Aktuell")
Set wb2 = Workbooks.Open("H:\Update.xlsx")
Set ws2 = wb2.Sheets("Sheet1")
lastrow = ws2.Range("C" & Rows.Count).End(xlUp).Row
For i = 3 To lastrow
Set treffer = ws1.Columns(3).Find(ws2.Cells(i, 3), LookIn:=xlValues)
If Not treffer Is Nothing Then
findZeile = treffer.Row
If ws2.Cells(i, "L") = "NEIN" Then
ws1.Cells(findezeile,"AY").Value ="F"
Else
End If
End If
Set treffer = Nothing
Next i
'wb2.Close savechanges:=True
Application.ScreenUpdating = True
Application.Calculation = xlAutomatic
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Treffer finden und Text eingeben
09.10.2017 18:33:50
ChrisL
Hi Zoi
Dein Code sieht eigentlich OK aus, vielleicht liegt es an den Daten. Ein Leerschlag hinter "NEIN_" würde z.B. genügen, damit die Wenn-Bedingung nicht erfüllt ist. Ich vermute es liegt an der Wenn-Bedingung, weil du keine Fehlermeldung bekommst.
In solchen Situationen setzt man am einfachsten eine Haltepunkt im VBA Code und geht dann im Einzelschrittmodus durch. Dabei fährt man den Cursor über die Variablen (Tooltipp) resp. man sieht am Sprung ob die Bedingung erfüllt ist oder eben nicht.
Folgende Formel in AY würde es vermutlich auch tun...
=WENN(ZÄHLENWENNS([Update.xlsx]Sheet1!C:C;C3;[Update.xlsx]Sheet1!L:L;"NEIN")>0;"F";"")
Die Formel kannst du auch nach VBA übernehmen.
Bezüglich Performance wäre interessant, ob die beiden Tabellen unterschiedliche Längen haben. Falls Datei1 viel grösser als Datei2 ist, dann wäre eher dein ursprünglicher Ansatz (Schleife über Datei2) weiter zu verfolgen.
cu
Chris
PS: Für Anschlussfragen bitte kleine Beispieldateien ins Forum laden, womit man das Problem rekonstruieren kann.
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige