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

Suchfunktion

Forumthread: Suchfunktion

Suchfunktion
22.03.2006 10:50:53
Tuvux
Hallo Excel Profis!
Habe mir folgende Suchfunktion eingebaut:
Public

Sub Instrsuche()
Dim intwort, intbereich, intergebnis, intgef As Integer
Dim loletzte As Long
Range("d7:g1000").ClearContents
intgef = 7
loletzte = IIf(IsEmpty(Range("A65536")), Range("A65536").End(xlUp).Row + 1, 65536)
intwort = InputBox("Welches Ersatzteil suchen Sie?")
For intbereich = 1 To loletzte
If InStr(1, Cells(intbereich, 1), intwort, vbTextCompare) Then
Cells(intgef, 5) = Cells(intbereich, 1)
intergebnis = intbereich
Cells(intgef, 4) = intergebnis
intgef = intgef + 1
End If
Next intbereich
End Sub

So jetzt kommt mein Problem. Ich möchte in einer anderen Tabelle Suchen lassen und zwar nicht nur in der Spalte A, sondern auch in B und C. Weiteres Problem ist, dass beim Abbruch der Suche alle Werte aus dem Bezugsbereich ausgeschpuckt werden. Kann ich das unterbinden?
Grüsse
Tuvux
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ausgeschpuckt: sowas machen doch nur Lamas, oder!
22.03.2006 11:56:02
Luschi
AW: ausgeschpuckt: sowas machen doch nur Lamas, oder!
22.03.2006 12:31:43
Tuvux
Ja, ja ich weiß! War wohl mit den Gedanken wo anders!
Aber wie wäre es jetzt mit konstruktiver Hilfe? Ich komme da echt nicht weiter.
Tuvux
AW: Suchfunktion
22.03.2006 14:21:27
Franz
Hallo Tuvux,
Mit folgenden Anpassungen und Vereinfachungen sollte es funktionieren. Dabei muß "AndereTabelle" natürlich durch den korrekten Tabellennamen ersetzt werden.

Sub Instrsuche()
Dim intwort As String, intgef As Integer, wks1 As Worksheet, Zelle As Range
Range("d7:g1000").ClearContents
Set wks1 = ThisWorkbook.Sheets("AndereTabelle")
intgef = 7
intwort = InputBox("Welches Ersatzteil suchen Sie?")
If intwort = "" Then Exit Sub 'Bei Abbruch gibt Inputbox einen Leerstring aus
For Each Zelle In wks1.Range("A1:C" & wks1.UsedRange.Rows.Count)
If InStr(1, Zelle.Value, intwort, vbTextCompare) Then
Cells(intgef, 5) = Zelle.Value
Cells(intgef, 4) = Zelle.Row
intgef = intgef + 1
End If
Next
End Sub

Gruß
Franz
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige