Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1520to1524
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
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

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

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige