Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
996to1000
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

Daten Filtern

Daten Filtern
30.07.2008 16:46:26
Jotka
Hallo,
ich habe folgendes Problem:
Ich habe eine Mappe mit zwei Tabellenblätern. Das eine Tabellenblatt soll eine Such- und Ergebnismaske sein, das zweite Tabellenblatt enthält die Daten (Postleitzahlenliste).
Ich möchte jetzt auf dem ersten Blatt eine Postleitzahl und/oder einen Ort eingeben. Dann soll Excel die Daten auf dem zweiten Blatt durchsuchen und das Ergebnis auf dem ersten Blatt wiedergeben. Dadurch, dass viele Orte mehrere Postleitzahlen haben oder Orte mit gleichem Namen unterschiedlich Plz haben, kann es bei der Suche nur mit Ortsnamen natürlich mehrere Ergebnisse geben, die auch als Ergebnis angezeigt werden sollen.
Das Problem lässt sich im Prinzip per Spezialfilter ganz gut lösen, allerdings bekomme ich immer Probleme sobald ich mit zwei Tabellenblättern arbeite. Ausserdem hätte ich das ganze gerne per Knopfdruck auf der Suchseite. Allerdings habe ich von Makros etc. mal gar keinen Plan.
Das ganze sieht wie folgt aus:
Tabelle "Suche" B5 (Plz)
Tabelle "Suche" C5 (Ort)
Ausgabe Suchergebniss ab Tabelle "Suche" A10
Datenliste in Tabelle "Berechnung" A2:I3555
Ich hoffe mit dieser Beschreibung kann irgendwer etwas anfangen. Leider kann ich die Arbeitsmappe nicht hochladen, da der File zu groß ist. Hoffe trotzdem das mir hier jemand helfen kann.
Danke im Voraus.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten Filtern
30.07.2008 17:13:03
Rudi
Hallo,
teste mal:

Sub PLZundOrtFiltern()
Dim i As Long, j As Long, k As Long
Dim arrQuelle, arrZiel()
Dim strPLZ As String, strOrt As String
Const iPLZ As Integer = 1 'Spalte PLZ
Const iOrt As Integer = 2 'Spalte Ort
strPLZ = Sheets("Suche").Range("B5")
strOrt = Sheets("Suche").Range("C5")
arrQuelle = Sheets("Berechnungen").Range("A1").CurrentRegion
ReDim arrZiel(1 To UBound(arrQuelle), 1 To 9)
k = 1
i = 1
'Überschriften in Array schreiben
For j = 1 To 9
arrZiel(k, j) = arrQuelle(i, j)
Next
'Daten suchen und in Array schreiben
For i = 2 To UBound(arrQuelle)
If arrQuelle(i, iPLZ) & "*" Like strPLZ And arrQuelle(i, iOrt) Like strOrt & "*" Then
k = k + 1
For j = 1 To 9
arrZiel(k, j) = arrQuelle(i, j)
Next
End If
Next i
'Daten in Suche schreiben
arrZiel = WorksheetFunction.Transpose(arrZiel)
ReDim Preserve arrZiel(1 To 9, 1 To k)
Sheets("suche").Range("A10").Resize(k, 9) = WorksheetFunction.Transpose(arrZiel)
End Sub


Gruß
Rudi

Anzeige
AW: Daten Filtern
30.07.2008 17:42:48
Jotka
Hallo Rudi,
danke für die schnelle Info, aber was mache ich damit ?
Ich kenne mich zwar mit Excel ganz gut aus, habe aber von Makros und dem Kram keinen Plan.
Kopiere ich das alles in ein neues Makro und ordne das z.B. einer Schaltfläche zu, oder was ?
Gruss
Jotka

AW: Daten Filtern
30.07.2008 17:49:51
Jotka
Hallo Rudi,
hab das einfach mal probiert und bekomme folgenden Fehler:
Laufzeitfehler '9' Index außerhalb des gültigen Bereichs
Wenn ich auf "debuggen" klicke, wird die mittlere Zeile gelb unterlegt:
strOrt = Sheets("Suche").Range("C5")
arrQuelle = Sheets("Berechnungen").Range("A1").CurrentRegion
ReDim arrZiel(1 To UBound(arrQuelle), 1 To 9)
Gruss
Jotka

Anzeige
AW: Daten Filtern
30.07.2008 17:55:00
Jotka
... und nochmal ich ....
der Fehler liegt anscheinend beim Tabellennamen, der ist nämlich Berechnung und nicht Berechnungen. Ich habe das mal korrigiert, aber dann passiert gar nichts mehr. Kein Fehler, aber auch kein filtern.

AW: Daten Filtern
31.07.2008 09:31:07
Rudi
Hallo,
lade mal eine Beispielmappe hoch.
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige