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

Forumthread: Suche eines Wertes in 2 verschiedenen Spalten

Suche eines Wertes in 2 verschiedenen Spalten
17.10.2016 10:57:45
Thomas
Hallo,
ich bräuchte bitte Hilfe bei einer Makro-Suchfunktion. Bisher wurde ich nirgends fündig bzw. konnte es nicht entsprechend anpassen:
Ich schreibe an einer Lagerliste (also Text) und da viele noch ahnungslosere Leute als ich es bin, diese bearbeiten sollen, habe ich eine Makro-Suche eingebaut, die Folgendes können sollte:
1) Suchbegriffsteile eingeben z.B.: nad
2) Ergebnis wird in Spalte A und Spalte P (wo weitere alternative Namen für das Produkt angeboten werden) gesucht. (falls das nicht geht, würde ich die Begriffe einfach mit weißer Schrift in Spalte A eintragen - ist meine derzeitige Lösung)
3) 1. Suchergebnis wird in Messagebox angezeigt (derzeit wird leider die Position angezeigt - hier hätte ich gerne den Begriff, der in der Zelle gefunden wurde - also im Beispiel "Nadel (blau)"
4) Außerdem sollte die gefundene Zelle mit gelbem Hintergrund belegt werden.
5) Falls es nicht der richtige Begriff ist - Weitersuchen "ja" - Zelle wieder zurück in Ursprungsfarbe
6) Nächste Messagebox mit "Nadel (rosa)"
7) Ende wenn keine weiteren Begriffe gefunden werden können. Idealerweise mit Messagebox ("keine weiteren Produkte gefunden") oder wenn Weitersuchen "nein"
Wichtig ist, dass am Ende der Suche auch die Originalfarbe der Spalte wiederhergestellt wird.
Danke schon einmal vorab!
Hier ist mein derzeitiges Suchmakro:

Sub Suche()
Dim rng As Range
Dim sBegriff As String, sAddress As String
sBegriff = InputBox("Bitte Suchbegriff eingeben:", "Suchbegriff eingeben", , 5, 5)
If sBegriff = "" Then Exit Sub
Set rng = Columns("A:A").Find( _
What:=sBegriff, _
LookIn:=xlFormulas, _
MatchCase:=False)
If rng Is Nothing Then
Beep
MsgBox "Suchbegriff nicht gefunden!", , _
Application.UserName
Exit Sub
End If
sAddress = rng.Address
rng.Select
If (MsgBox(rng.Address(False, False), vbYesNo, "Weitersuchen?")) = vbYes Then
rng.Offset(1).Select
Do
Columns("A:A").FindNext(After:=ActiveCell).Activate
If ActiveCell.Address = sAddress Then Exit Sub
If (MsgBox(ActiveCell.Value(False, False), vbYesNo, "Weitersuchen?")) = vbNo Then Exit Do
Loop
End If
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suche eines Wertes in 2 verschiedenen Spalten
17.10.2016 19:41:44
fcs
Hallo Thomas,
mit den folgenden Anpassungen sollte deine Wunschliste erfüllt werden.
Das Makro durchsucht erst Spalte A von der 1. bis zur letzten Zeile und danach Spalte B
LG
Franz
Sub Suche()
Dim rng As Range
Dim rngFind As Range
Dim sBegriff As String, sAddress As String
Dim FarbeZelle As Long, FarbIndex As Long
sBegriff = InputBox("Bitte Suchbegriff eingeben:", "Suchbegriff eingeben", , 5, 5)
If sBegriff = "" Then Exit Sub
Set rngFind = Application.Union(Columns("A:A"), Columns("P:P"))
Set rng = rngFind.Find( _
What:=sBegriff, _
LookIn:=xlFormulas, _
Lookat:=xlPart, _
MatchCase:=False)
If rng Is Nothing Then
Beep
MsgBox "Suchbegriff nicht gefunden!", , _
Application.UserName
Else
sAddress = rng.Address
Do
FarbeZelle = rng.Interior.Color
FarbIndex = rng.Interior.ColorIndex
rng.Interior.Color = RGB(255, 255, 0) 'gelb
rng.Select
If (MsgBox(rng.Text & vbLf & " in Zelle """ & rng.Address(False, False) _
& """ gefunden", _
vbYesNo + vbQuestion, "Weitersuchen?")) = vbNo Then
If FarbIndex = xlColorIndexNone Then
rng.Interior.ColorIndex = xlColorIndexNone
Else
rng.Interior.Color = FarbeZelle
End If
Exit Do
End If
If FarbIndex = xlColorIndexNone Then
rng.Interior.ColorIndex = xlColorIndexNone
Else
rng.Interior.Color = FarbeZelle
End If
Set rng = rngFind.FindNext(After:=rng)
If rng.Address = sAddress Then
MsgBox "Keine weiteren Fundstellen", vbOKOnly, Application.UserName
Exit Do
End If
Loop
If rng.Column  1 Then Cells(rng.Row, 1).Select
End If
End Sub

Anzeige
AW: Suche eines Wertes in 2 verschiedenen Spalten
18.10.2016 23:25:49
Thomas
Hallo Franz,
vielen vielen Dank. Klappt perfekt! Die 2. Spalte hat zwar beim kurzen Testlauf, für den ich heute Zeit hatte, zwar noch nicht funktioniert. Ich sehe mir das aber noch an. Vielleicht liegt es ja an meiner Excel Liste.
Danke nochmal für die schnelle Hilfe!
LG
Thomas
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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