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

Auf zwei Tabellen suchen

Auf zwei Tabellen suchen
18.01.2018 13:47:00
Philip
Hallo
Ich habe einen Code der mir auf einer Tabelle nach einer Eingabe sucht, nun möchte ich diese suche erweitern au eine zweite Tabelle, ich bringe es jedoch nicht zustande dass es läuft.
Sub Suchen()
Dim rng As Range
Set rng = Sheets("Tabelle1").Range("A4:A250").Find(What:=Range("F4:F500"), Lookat:=xlWhole,  _
LookIn:=xlValues)
If Not rng Is Nothing Then
Exit Sub
Else
MsgBox "Kein Duplikat entdeckt."
End If
End Sub

Müsste auf Tabelle2 Zellen A5-A100 durchsuchen
Gruss Philip

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
What:=Range("F4:F500"),
18.01.2018 14:05:21
Rudi
Hallo,
du kannst nur nach einem Wert suchen!
Gruß
Rudi
Geht gar nicht
18.01.2018 14:16:59
Philip
Hallo
Das hat wohl was!!!
In der Spalte F gebe ich einen Text ein und nach dem soll auf den anderen Tabellen in den Spalten A gesucht werden.
Tabelle1= Suchwort in Spalte F, wird fortlaufend erweitert
Tabelle2+Tabelle3 ist die Spalte A zu durchsuchen.
Gruss Philip
AW: Geht gar nicht
18.01.2018 14:34:15
Rudi
teste mal:
Sub Suchen()
Dim rngF As Range, rngC As Range, bolNotFound As Boolean
For Each rngC In Range("F4:F500").SpecialCells(xlCellTypeConstants)
Set rngF = Sheets("Tabelle1").Range("A4:A250").Find _
(What:=rngC, Lookat:=xlWhole, LookIn:=xlValues)
bolNotFound = rngF Is Nothing
Set rngF = Sheets("Tabelle2").Range("A4:A250").Find _
(What:=rngC, Lookat:=xlWhole, LookIn:=xlValues)
bolNotFound = bolNotFound Or rngF Is Nothing
If Not bolNotFound Then
MsgBox "Duplikat in " & rngC.Address
Exit Sub
End If
Next rngC
End Sub

Gruß
Rudi
Anzeige
AW: Geht gar nicht
18.01.2018 14:45:53
Philip
Hallo
Ich habe versucht den Code zu starten jedoch gib er mir einen Laufzeitfehler "keine Zelle gefunden".
Gruss Philip
AW: Geht gar nicht
18.01.2018 15:14:06
Rudi
dann hast du keine Werte oder nur Formeln in F4:F500
AW: Geht gar nicht
18.01.2018 15:29:13
Philip
Hallo
Ich glaube ich weiss wo das Problem liegt, ich habe mich zu wenig deutlich ausgedrückt.
Die Zellen F4 bis F500 werden laufend gefüllt, sprich diese sind leer.
Es sollte erst gesucht werden sobald ich einen eintrag mache und dann auch nur ob dieser vorhanden ist.
Gruss Philip
AW: Auf zwei Tabellen suchen
18.01.2018 14:37:28
Daniel
Hi
wie Rudi schon schrieb, du kannst immer nur nach einem Wert gleichzeitig suchen, dh dein Parameter nach WHAT:= darf nur eine Zelle groß sein.
Willst du da nach mehreren Werten suchen, brauchst du eine Schleife über die Zellen.
Wenn du auf mehreren Blättern gleichzeitig suchen willst, dann geht das auch, aber nur wenn der Suchbereich auf allen Blättern der gleiche ist.
Sheets(Array("Tabelle1", "Tabelle2")).Select
Range("A4:A500").Select
set rng = Selection.Find(what:=Range("F4").Value, ...)
hast du aber unterschiedliche Zellbereiche auf den Blättern, musst du in jedem Blatt separat suchen.
Gruß Daniel
Anzeige
AW: Auf zwei Tabellen suchen
18.01.2018 14:49:19
Philip
Hallo
Der Suchbereich kann auf bei Tabellen der selbe sein.
Kannst du mir das in meinen Code einfügen? Ich kenn mich mit Schleifen überhaupt nicht aus und aus deinem beispiel werde ich nicht schlau.
Gruss Philip
AW: Auf zwei Tabellen suchen
18.01.2018 15:04:31
Daniel
Hi
zunächst einmal, du hast das hier als Suchbegriff angegeben:
What:=Range("F4:F500"),
1. auf welchem Tabellenblatt stehen die Suchbegriffe?
2. willst wirklich im Extremfall 497 Messageboxen wegklicken?
wäre es nicht geschickter, neben die Suchbegriffe einfach eine Funktion mit ZählenWenn zu schreiben?
also Beispielsweise diese Formel in G4:G500:
=Wenn(G4="";"";Wenn(ZählenWenn(Tabelle1!$A$1:$A$500;G4)+ZählenWenn(Tabelle2!$A$1:$A$500;G4); ""Duplikat gefunden"";"")) 

Die formel kannst du ja auch per Makro eintragen lassen.
Gruß Daniel
Anzeige
AW: Auf zwei Tabellen suchen
18.01.2018 15:17:25
Philip
Hallo
Das Problem ist das ich wenn der Suchbegriff nicht vorhanden ist eigentlich eine Userform öffnen will.
Deshalb ist es mit einer Formel nicht lösbar...
In Tabelle1 gebe ich den Suchbegriff in eine Zelle zwischen F4:F500 ein und am besten währe wenn er nur den Suchbegriff den ich gerade eingebe sucht, natürlich möchte ich nicht unbedingt 497 MsgBoxen wegklicken.
Gruss
AW: Auf zwei Tabellen suchen
18.01.2018 15:30:46
Daniel
Hi
ok, dann musst du das ganz anders angehen.
du brauchst ein Makro, welches automatisch anspringt, wenn du einen Wert in eine Zelle eingibst und dann diesen Wert suchst.
Wenn du nicht allzuviele Zellbereiche durchsuchen musst, würde ich jeden extra programmieren.
zum suchen würde ich auch Worksheetfunction.countif (entspricht ZählenWenn) nehmen, dass ist da etwas einfacher zu programmieren.
dieser Code muss in das Modul des Tabellenblatts, in welchem du die Werte in F5:F500 eingibst:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zelle As Range
Dim Gefunden As Long
If Intersect(Target, Range("F4:F500")) Is Nothing Then Exit Sub
For Each Zelle In Intersect(Target, Range("F4:F500"))
If Zelle.Value  "" Then
Gefunden = WorksheetFunction.CountIf(Sheets("Tabelle1").Range("A1:A500"), Zelle.Value)
If Gefunden = 0 Then _
Gefunden = WorksheetFunction.CountIf(Sheets("Tabelle2").Range("A1:A500"), Zelle.Value)
If Gefunden = 0 Then UserformX.Show
End If
Next
End Sub
Gruß Daniel
Anzeige
AW: Auf zwei Tabellen suchen
18.01.2018 15:37:21
Philip
Hallo
Supper das funktioniert einwand frei so.
Perfekt, danke dir.
Gruss Philip

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige