Anzeige
Archiv - Navigation
1632to1636
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

"If InStr" liefert versch. Ergebnisse

"If InStr" liefert versch. Ergebnisse
15.07.2018 00:20:08
Martin
Die lnStr-Funktion liefert bei identischem Code mit identischen Daten teilweise unterschiedliche Ergebnisse (ohne das es hierfür einen Grund geben kann). Die nachstehende Funktion nimmt Daten aus einer Matrix und durchsucht anschließend Spalte ("C"). Falls der Wert gefunden wurde, wird in selbiger Zeile in Spalte "F" die Überschrift aus der jeweiligen Matrixüberschrift kopiert.
Auch wenn beide Zellen identisch sind (Excelvergleich gibt "Wahr" wieder), kommt es immer wieder vor, dass die Überschrift nicht kopiert wird. Erst wenn die Formel erneut gestartet wird, klappt es.
Wie kann das sein? Hat die Funktion bei größeren Datenmengen (per Zufall) Probleme?

For j = 13 To 42
letztereihe2 = ThisWorkbook.Worksheets("Datenbank").Cells(Rows.Count, j).End(xlUp).Row
For i = 2 To letztereihe2
suchwert = ThisWorkbook.Worksheets("Datenbank").Cells(i, j).Value
For k = letztereihe1 To 1 Step -1
zweck = ThisWorkbook.Worksheets("Datenbank").Range("C" & k).Value
If InStr(1, zweck, suchwert, vbTextCompare) > 0 Then
ThisWorkbook.Worksheets("Datenbank").Range("C" & k).Offset(0, 3) = ThisWorkbook. _
Worksheets("Datenbank").Cells(1, j)
End If
Next k
Next i
Next j

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "If InStr" liefert versch. Ergebnisse
15.07.2018 01:54:43
Werner
Hallo Martin,
vielleicht ein Referenzierungsproblem?
With Worksheets("Datenbank")
letztereihe2 = .Cells(.Rows.Count, j).End(xlUp).Row
For j = 13 To 42
For i = 2 To letztereihe2
suchwert = .Cells(i, j).Value
For k = letztereihe1 To 1 Step -1
zweck = .Range("C" & k).Value
If InStr(1, zweck, suchwert, vbTextCompare) > 0 Then
.Range("C" & k).Offset(0, 3) = .Cells(1, j)
End If
Next k
Next i
Next j
End With
Gruß Werner
AW: "If InStr" liefert versch. Ergebnisse
15.07.2018 11:18:41
Martin
Hallo Werner,
klingt erstmal gut. Mich wundert nur, dass es bei der Zelle darüber funktioniert und nur die eine übersprungen wird. Habe die Datei mal hochgeladen:
https://www.herber.de/bbs/user/122684.xlsm
VG
Martin
Anzeige
AW: "If InStr" liefert versch. Ergebnisse
15.07.2018 06:31:49
Hajo_Zi
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: "If InStr" liefert versch. Ergebnisse
15.07.2018 11:17:00
Martin
Die Datei kann hier heruntergeladen werden:
https://www.herber.de/bbs/user/122684.xlsm
Der Fehler ist leider schwer reproduzierbar, ich vermute es passiert bei großen Datenmengen. Die problematische Zelle ist markiert

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige