Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Excel-Suchfunktion





Frage

Hallo, ich hoffe ihr könnt mir helfen, ich bin noch Makro-Neuling, aber nun damit konfrontiert. Und zwar geht es darum: Ich habe eine Excel-Datei, die aus mehreren Arbeitsblättern besteht. Das erste Arbeitsblatt enthält eine Suchzeile in der ich Postleitzahlen eingeben kann. Die Postleitzahlengebiete sind auf anderen Arbeitsblättern in dieser Datei hinterlegt (Bspw. ein Arbeitsblatt mit der Region 8xxxx für den Münchner Raum und eins mit 9xxxxx für den Raum Nürnberg etc.) In der ersten Spalte sind die Postleitzahlen, dann die Stadt, dann die Straße aufgeführt. Jetzt ist das so gedacht dass ich in dem besagten ersten Arbeitsblatt eine Postleitzahl oder einen Teil eingebe und mir dann auf demselben Blatt (nach Betätigung eines "Suche"-Buttons) alle dazugehörigen Zeilen der hinterlegten Arbeitsblätter angezeigt werden. Habe das nun mit dem Makrorecorder angestellt und den Code etwas bearbeitet, der nun so aussieht: Sub Makro3() Sheets("Plz_Region_8").Select Selection.AutoFilter Field:=1, Criteria1:=Sheets("Suchseite").Range("B7").Value Range("A2:E28043").Select Selection.Copy Sheets("Suchseite").Select Range("A29").Select ActiveSheet.Paste End Sub Soweit so gut, aber ich bekomme immer alle Werte des Arbeitsblatts angezeigt und die gesuchten Kriterien am oberen Ende der Liste. Besser wäre es aber wenn ich NUR den relevanten Teil gezeigt bekomme (für evtl. Ausdrucke o.Ä.)Ferner ist es mir bisher nur gelungen, die Suche auf dem einen Arbeitsblatt (Plz_Region_8) auszuführen und nicht auf allen die dort vorkommen. Hat jemand eine Idee wie das funktionieren könnte? Über Antworten wäre ich sehr dankbar. Ich hoffe auch ich hab mich klar ausgedrückt :-) Besten Dank schonmal, Grüße, Kai

Antwort 1 von coros

Hallo Kai,

ich weiß jetzt nicht, ob ich Dich richtig verstanden habe. Mit nachfolgendem Makro werden die Daten aus dem Tabellenblatt kopiert, dessen Postleitzahl im aktuellen Tabellenblatt in Zelle A1 eingetragen wird.
Als Beispiel, es wird in Zelle A1 die Zahl 900 eingetragen, dann werden die Daten aus dem Tabellenblatt „Plz_Region_9“ kopiert und im aktiven Tabellenblatt ab Zelle A3 aufgeführt.
Ich hoffe, Du meintest das so.

Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

 Option Explicit

Sub Kopieren()
Dim SuchSheet As String
Dim strBereich As String
'Bereich A3 bis C letzte beschriebene Zeile leeren
Range("A3:C" & Range("A65536").End(xlUp).Offset(1, 0).Row).ClearContents
On Error Resume Next
'Blattname aus dem Text "Plz_Region_" und der ersten Zahl aus der Eingabe _
 in Zelle A1 in Variable "SuchSheet" schreiben
SuchSheet = "Plz_Region_" & Left(Sheets("Suche").Range("A1"), 1)
'gefüllter Bereich in der Postleitzahelntabelle ermitteln
strBereich = "A2:C" & Sheets(SuchSheet).Range("A65536").End(xlUp).Offset(1, 0).Row
'Daten aus Postleitzahlentabelle kopieren und in aktueller Tabelle ab Zelle A3 einfügen
Sheets(SuchSheet).Range(strBereich).Copy Range("A3")
End Sub
 



Sollte das nicht so sein, wie Du es Dir vorstellst, musst Du etwas deutlicher werden, was genau Du möchtest. Bitte auch Angaben darüber machen, in welcher Zelle die Postleitzahl eingetragen wird, wo genau die Daten eingefügt werden sollen, den zu kopierenden Bereich, sofern kopiert werden soll, usw.
Eventuell kannst Du ja auch ein Beispiel z.B. bei www.netupload.de hochladen und den Link dann hier posten.

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

Bei Fragen melde Dich.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Kaione

Hallo!
Erstmal vielen Dank für Deine Bemühungen und die Antwort, allerdings funktioniert das bei mir nicht bzw. es tut sich gar nichts. Kann es sein dass ich die angegebenen Variablen SuchSheet und strBereich auf meine Blattnamen anpassen muss (hab ich schon versucht aber bin zu keinem Ergebnis gelangt).
Kann ich Dir evtl. per email eine Beispieldatei zukommen lassen, da das für eine Uni-Arbeit ist und ich die Daten ungern öffentlich preisgeben will, oder ich lade eine abgewandelte Datei hoch, das würde auch gehen, je nachdem wie es Dir lieber ist.
Vielen Dank,
Grüße,
Kai

Antwort 3 von coros

Hallo Kai,

warum das bei Dir nicht funktioniert, kann ich jetzt nicht abschätzen. Dazu müsste man Deine Datei kennen. Aber das hatte ich ja berets alles in AW1 geschrieben. Dort hatte ich auch Fragen gestellt, die bis jetzt nicht beantwortet wurden. Lade also Deine Datei oder von mir aus eine abgewandelete Datei, die aber schon wie Deine Originaldatei sein sollte, z.B. bei www.netupload.de hoch. Dann kann man sich Deine Datei ansehen und versuchen ein geeignetes Makro zu erstellen.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: