Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1572to1576
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
Suchen in zwei Spalten mit like Statement
21.08.2017 18:54:00
Roberto
Hiho zusammen
Ich haben eine User-form mit einer Textbox um Einträge aus einem Worksheet anzuzeigen. In Spalte 1 wird nach den Werten ARB und MAT gesucht (Für Test im Moment einfach fest "ARB". Anschließend werden in der Spalte2 Einträge gesucht die in der Textbox eingegeben wurden. Mit Hilfe der SuFu konnte ich folgenden Code auf meine Bedürfnisse modifizieren. Funktioniert fast alles wunderbar, nur das like Statement macht mir Kopfschmerzen.
Wenn ich zum Beispiel den Eintrag "1234Hallo Welt" suche mit like "*Welt*", wird der Eintrag nicht gefunden. Wenn ich "Welt*" suche, dann wird der Eintrag gefunden, aber ich kann nicht mehr 1234 suchen. Gibts da ein einfache Lösung zu? Ist der Code überhaupt schlau zusammen gestellt, oder habe ich ein Grundsätzlichen Fehler gemacht? :) Bin blutiger Anfänger was VBA angeht.
Private Sub tbo_Suchen_Change()
Dim c As Range 'Suchresultat 1
Dim inic As String 'Initialer Treffer um schleife zu stoppen
Dim rowno As String 'Zeile
With Worksheets("ArtikelDB").Range("RangeRef")
Set c = .Find("ARB", , xlValues, xlWhole) ' Suchen1 in Spalte 4
uf_Artikelverwaltung.lbo_Suchresultate.Clear
If Not c Is Nothing Then
inic = c.Address 'Variable c in 1. Treffer
Do 'Do Loop Schleife Treffer bearbeiten.
'Suchen2 (textbox Eingabe) Spalte1
If c.Offset(0, -3).Value Like "*" & uf_Artikelverwaltung.tbo_Suchen & "*" Then
rowno = rowno & ";" & c.Row
'Listbox befüllen
With uf_Artikelverwaltung.lbo_Suchresultate
'Spaltenanzahl
.ColumnCount = 4
'.ColumnHeads = False
'Item hinzufügen
.AddItem
'Treffer (Link Customer)
.List(.ListCount - 1, 0) = c.Offset(0, -2).Value
.List(.ListCount - 1, 1) = c.Offset(0, 2).Value
.List(.ListCount - 1, 2) = c.Offset(0, 4).Value
.List(.ListCount - 1, 3) = (Format(Val(c.Offset(0, 5)), "#.#0"))
.ColumnWidths = "44 pt; 64 pt; 280 pt; 17 pt"
End With
End If
Set c = .FindNext(c) 'nächster Treffer
Loop While Not c Is Nothing And c.Address  inic 'Loop bis erster Treffer kommt
End If
End With
'Anzahl Treffer in Label eintragen
lbl_treffer.Caption = lbo_Suchresultate.ListCount & " Treffer"
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen in zwei Spalten mit like Statement
21.08.2017 19:46:26
Roberto
Habe eine Lösung gefunden, also helfe ich mir selber :)
Ersetze Like Statement
If c.Offset(0, -3).Value Like "*" & uf_Artikelverwaltung.tbo_Suchen & "*" Then
durch InStr-Funktion, UCase entfernen falls die Suche Case Sensitive sein soll
If InStr(1, UCase(c.Offset(0, -3)), UCase(uf_Artikelverwaltung.tbo_Suchen)) > 0 Then

Brauchst dich nicht zu bedanken. lol
Anzeige

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige