Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

find mit mehreren Zellen

find mit mehreren Zellen
Jonathan
Hey,
es liegt in VBA ein String mit x Zeichen Länge vor (z.B. AutoAudirot), welcher immer aus drei Werten zusammengesetzt ist. Diese drei Werte können in einem Tabellenblatt in einer Zeile in drei nebeneinander liegenden Spalten vorkommen. Genau dieses Vorkommen möchte ich überprüfen.
(Es liegen auch Einzelwerte des zusammengesetzten Strings vor str1, str2, str3.)
Bisher habe ich es über eine Schleife gelöst:
Alle Zeilen in dem betreffenden Tabellenblatt abgearbeitet, die jeweiligen Spalten innerhalb der Schleife zu einem String zusammengesetzt und mit dem Vorhandenen verglichen. Klappt auch wunderbar, ist aber bei vielen Daten sehr zeitaufwendig. Find ist dagegen ja sehr schnell.
Gibt es dafür eine Lösung, die Ihr mir näher bringen könnt? ;-)
VG

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: find mit mehreren Zellen
14.09.2011 21:34:01
Gerd
Hallo Jonathan,
zeige bitte deinen "wunderbar klappenden" Schleifencode. Dann wird es höchstwahrscheinlich klarer, welche Treffer wo ... etc.
Gruß Gerd
AW: find mit mehreren Zellen
14.09.2011 21:59:33
Jonathan
Hey,
hier der Codeausschnitt (in ersZeioDatSW ist die letzte Zeile enthalten):

SuchWneu = Me("com_buchungsart" & i).Value & Me("com_ok" & i).Value & Me("com_uk" & i). _
Value & Me("com_uk2" & i).Value & Me("txt_kommentar" & i).Value
'MsgBox SuchWneu
For j = 1 To ersZeioDatSW - 1
With ThisWorkbook.Sheets("Suchwerte")
SuchW = .Cells(j, 1).Value & .Cells(j, 2).Value & .Cells(j, 3).Value & .Cells(j, 4). _
Value & .Cells(j, 5).Value
'MsgBox SuchW
If SuchWneu = SuchW Then
MsgBox "gefunden"
End If
End With
Next

Anzeige
AW: find mit mehreren Zellen
14.09.2011 22:41:15
D.Saster
Hallo,
na da könnt ich ja genauso gut aus deiner Schuhgröße deine Haarfarbe ermitteln.
Gruß
Dierk
AW: find mit mehreren Zellen
14.09.2011 21:36:59
Uduuh
Hallo,
wahrscheinlich ist es besser das alles in Arrays zu packen und diese zu durchsuchen.
Mehr Info nur mit Beispielmappe möglich.
Gruß aus’m Pott
Udo

AW: find mit mehreren Zellen
15.09.2011 06:29:17
Gerd
Hallo Jonathan,
Ersatzfragment:
Dim SuchWneu As String
Dim Bereich As Range
Dim Treffer As Range
Dim Erster As String
Dim bln As Boolean
SuchWneu = Me("com_buchungsart" & i).Value
With ThisWorkbook.Sheets("Suchwerte")
Set Bereich = .Range(.Cells(1, 1), .Cells(ersZeioDatSW - 1, 1))
Set Treffer = Bereich.Find(SuchWneu, LookIn:=xlValues, lookat:=xlWhole)
If Not Treffer Is Nothing Then
Erster = Treffer.Address
Do
j= Treffer.Row
If Me("com_ok" & i).Value & Me("com_uk" & i). _
Value & Me("com_uk2" & i).Value & Me("txt_kommentar" & i).Value = _
.Cells(j, 2).Value & .Cells(j, 3).Value & .Cells(j, 4). _
Value & .Cells(j, 5).Value Then MsgBox "gefunden!": bln = True: Exit Do
Set Treffer = Bereich.FindNext(Treffer)
Loop Until Treffer.Address = Erster
End If
End With
If Not bln Then MsgBox "nicht gefunden!"
Gruß Gerd
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige