PDA

Vollständige Version anzeigen : VBA Lösung für Verweis


keine Idee
27.02.2008, 16:49
Moin,

ich habe ein, für mich, großes Problem.
Ich habe eine Mappe mit mehreren Tabellenblättern (können auch 20 werden).
Alle sind, ab Zeile 2 bis Zeile "x", mit 6 Spalten, immer nach dem gleichen Schema, gefüllt.
Auf Tabellenblatt 1 möchte ich eine "Suche" installieren.
Ich möchte eine Eingabe in B2 und/oder C2 machen und nach dieser Eingabe sollen die anderen Tabellenblätter nach Übereinstimmungen durchsucht werden.
Wenn Übereinstimmungen gefunden werden, können mehrere sein, sollen die dazugehörigen Zeilen in Tabellenblatt 1 kopiert werden.

Wenn ich eine neue Eingabe in B2 oder C2 oder in beiden mache sollen die "alten
Ergebnisse" gelöscht werden.

Bisher habe ich mit Verweis und nur einem Tabellenblatt herumgeschlagen dies aber übersteigt bei weitem meine Möglichkeiten.

Hat jemand eine Idee ?
Ich habe eine Testmappe angehängt aus der ihr vielleicht schlauer werdet.

Schon mal vielen Dank für die Zeit und Mühe.

Frank

ransi
27.02.2008, 19:08
Hallo

Wenn ich eine neue Eingabe in B2 oder C2 oder in beiden mache sollen die "alten

Bei dem oder in beiden habe ich Probleme.(muss ich mal drüber schlafen)
Die anderen 2 Varianten klappen schon ganz gut.

Schau dir die Beispieldatei mal an und teste ein Wenig...

keine Idee
27.02.2008, 22:41
Hola ransi,

zunächst mal bin ich mehr als begeistert. Ich hoffe du schläfst gut.

Hätte nicht gedacht, daß es umsetzbar ist.

Habe auch mit meiner großen Datei getestet und es funktioniert bestens. Ist in der großen Datei natürlich etwas langsamer, da sich dort ca. 6-7000 Zeilen auf jedem Blatt befinden, aber total ausreichend.

Nachdem ich nun getestet habe ist mir folgendes aufgefallen.

- wäre es möglich, C2 in Tabelle1, so zu programmieren, daß Groß-/Kleinschreibung egal ist ?

- nach einer Eingabe sind die Einträge auf dem jeweils letzten Blatt immer markiert. D.h. mit gestrichelter Linie umgeben. Stört mich nicht. Ist mir nur aufgefallen.

- Du hast Filter gesetzt. Tolle/ sinnvolle Idee. Wenn ich diese jedoch benutze wird ab Zeile 2 gefiltert. Meine Eingabezeile wird also auch gefiltert, bis ich den Filter wieder auflöse. Gibt es hier vielleicht die Möglichkeit erst ab Zeile 3 zu filtern? Muß nicht, wäre aber sensationell.

- Um auch PLZ mit führender Null abzufragen habe ich die Spalten B als Text formatiert. Ich hoffe das macht nichts kaputt? Habe aber keinen Fehler bemerkt.

- Wenn ich mehr Spalten abfragen möchte brauch ich doch nur in Sheets("Tabelle1").Range("A" & R & ":F" & R) = Split(arr(Z), vbTab) "F" ersetzen oder muß ich nochwas beachten?

Halte mich bitte nicht für undankbar aber ich stehe auf dem Standpunkt wenn sich jemand für mich soviel Mühe gibt dann bin ich auch verpflichtet es ausgiebig zu testen.
Ich glaube alle Beteiligten wollen ein perfektes Ergebnis und das geht nur wenn alle mitmachen.

Erstmal vielen, vielen Dank.

Frank

ransi
28.02.2008, 16:58
HAllo

wäre es möglich, C2 in Tabelle1, so zu programmieren, daß Groß-/Kleinschreibung egal ist ?

Da musst du nur die zu vergleichenden Werte immer Kleingeschrieben (oder GOSSGESCHRIEBEN) vergleichen.
In VBA lcase(string) für klein
oder
Ucase(String) für GROSS.

sind die Einträge auf dem jeweils letzten Blatt immer markiert.

Das liegt am kopieren.
Bekommst du weg indem du was anderes kopierst oder die Zwischenablage leerst.

Gibt es hier vielleicht die Möglichkeit erst ab Zeile 3 zu filtern?

Das ist das allerkleinste Problem.
Menu Daten -->Filter-->Autofilter abhaken
A2:F2 markieren
Menu Daten -->Filter-->Autofilter anhaken


..PLZ mit führender Null ...habe ich die Spalten B als Text formatiert. Ich hoffe das macht nichts kaputt?
Wenn jedes Blatt in B:B als text formatiert ist sollte das nichts ausmachen.

- Wenn ich mehr Spalten abfragen möchte brauch ich doch nur in Sheets("Tabelle1").Range("A" & R & ":F" & R) = Split(arr(Z), vbTab) "F" ersetzen oder muß ich nochwas beachten?

Ein wenig mehr musst da noch anpassen.
Da musst du überall wo auf A:F zugegriffen wird eingreifen.

Mal schauen ob ich das mit den beiden Zellen auf einmal noch hinbekomme.
Hier erstmal die Beispieldatei auf die anderen Fragen angepasst.

ransi

keine Idee
29.02.2008, 18:53
Hallo Ransi,

vielen, vielen Dank. Läuft perfekt.
Du hast mir unheimlich geholfen.

Danke.

Frank

P.S. ich setze den Beitrag auf erledigt.
Sollte dir noch was einfallen zu dem Thema mit den beiden Zellen wäre ich natürlich dankbar.

Schönen Abend und tolles Wochenende.