Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1432to1436
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
Inhaltsverzeichnis

Geeignete Suchroutine gesucht

Geeignete Suchroutine gesucht
21.06.2015 13:23:40
Constantin
Hallo,
ich möchte einen Wert in einem anderen Zellbereich suchen und die gefundene Position(Zeilennummer) ausgeben bzw. "fehlt" in der Nebenspalte (3) eintragen, falls er nicht gefunden wurde. Dazu verwende ich die Spalten A, B und C der Tabelle1.
In Spalte A stehen die Suchbegriffe, die abzuarbeiten sind. Nun soll geprüft werden, ob der jeweilige Wert (string) in Spalte B vorhanden ist. Falls ja, soll in Spalte C zum Suchbegriff die Zeilennummer von Spalte B eingetragen werden, wo er gefunden wurde, sonst der Text „fehlt“. In Spalte B gibt es keine Duplikate und es soll eine exakte Suche erfolgen.
Mein Problem ist, dass es eine vierstellige Anzahl an Suchbegriffen (und Werte in Spalte B, wo gesucht wird) gibt.
Wie ließe sich so ein Suchvorgang möglichst "optimieren".
Über Tipps würde ich mich freuen.
Grüße, Constantin
(Beispieldatei:)
https://www.herber.de/bbs/user/98336.xlsx

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

Betreff
Datum
Anwender
Anzeige
AW: Geeignete Suchroutine gesucht
21.06.2015 13:39:36
Sepp
Hallo Constantin,
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub suchen()
  Dim rngSearch As Range, rng As Range, rngRet As Range
  
  With Sheets("Tabelle1")
    Set rngSearch = Range("A3:A" & Application.Max(3, .Cells(.Rows.Count, 1).End(xlUp).Row))
    
    For Each rng In rngSearch
      Set rngRet = .Columns(2).Find(What:=rng, LookAt:=xlWhole, LookIn:=xlValues, MatchCase:=False, SearchFormat:=False)
      If Not rngRet Is Nothing Then
        rng.Offset(0, 2) = "Zeile " & rngRet.Row
      Else
        rng.Offset(0, 2) = "fehlt"
      End If
    Next
  End With
  
End Sub


Gruß Sepp

Anzeige
AW: Geeignete Suchroutine gesucht
21.06.2015 14:41:37
Constantin
Hallo Sepp,
ich habe es schon getestet -läuft und das sehr schnell! Für meine Datenmenge völlig ausreichend. Vielen Dank für die blitzschnelle (und für mich sehr hilfreiche) Lösung.
Grüße, Constantin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige