Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
636to640
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
636to640
636to640
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Suche nach Plz, Ergebnis anzeigen

Suche nach Plz, Ergebnis anzeigen
17.07.2005 12:22:08
Rausch Kurt
Hallo,
Ich stecke fest und komme nicht mehr weiter und hoffe mir kann jemand helfen.
Ich habe eine Datenbank mit Postleitzahlen unter einem Tabellenblatt mit Namen Plz. Als Startseite habe ich ein Tabellenblatt mit Namen Datenbank. Ich möchte nun eine Schaltfläche erstellen worauf sich ein Suchfenster öffnen sollte, wo ich einen Begriff, entweder den Ortsnamen oder die Postleitzahl, eintragen kann.
Es sollte dann eine Suche am Tabellenblatt Plz beginnen und mir das Ergebnis auf dem Tabellenblatt Datenbank angezeigt werden z.B.:
Wenn ich nach 9400 suche, sollte dann das Ergebnis so aussehen:
1 Eintrag gefunden, 9400 Wolfsberg
Die Postleitzahlen und die Ortsnamen sind sin der gleichen Zelle einegtragen.

Ich danke im voraus

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

Betreff
Datum
Anwender
Anzeige
AW: Suche nach Plz, Ergebnis anzeigen
17.07.2005 12:28:51
Hajo_Zi
Hallo Kurt,
mache es mit Formeln.
AW: Suche nach Plz, Ergebnis anzeigen
17.07.2005 12:31:43
Rausch Kurt
Hallo,
danke für die Antwort. Ich hätte lieber ein Makro dafür da ich mit diesen Formeln nichts anfangen kann.
mfg Kurt
AW: Suche nach Plz, Ergebnis anzeigen
17.07.2005 12:36:32
Hajo_Zi
Hallo Kurt,
ich habe eine Lösung erstellt. Die VBA Lösung mußt Du Dir dann selber erstellen. Benutze Find.

Sub Test()
'   erstellt von Hajo.Ziplies@web.de 12.04.03
Dim Found As Range
Dim LoLetzte As Long
Dim sSearch As String
sSearch = InputBox("Suchbegriff:", , "test")
If sSearch = "" Then Exit Sub
LoLetzte = IIf(IsEmpty(Range("C65536")), Range("C65536").End(xlUp).Row, 65536)
Set Found = Range("C1:C" & LoLetzte).Find(sSearch, Range("C" & LoLetzte), , xlPart, , xlNext)
'   kompletter Vergleich und Inhalt
'    Set Found = .Range(.Cells(2, 10), .Cells(5753, 10)).Find(ActiveSheet.Cells(I, 54), _
'        .Cells(5753, 10), xlValues , xlWhole, , xlNext)
If Found Is Nothing Then Exit Sub  'falls nicht gefunden wird sub verlassen
MsgBox Found.Row
End Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
AW: Suche nach Plz, Ergebnis anzeigen
17.07.2005 12:33:17
Franz D.
Hallo,
warum nicht ohne Vba? Z.B. wie folgt: Daten - Sortieren - Autofilter...
Mahlzeit.
Franz D.
AW: Suche nach Plz, Ergebnis anzeigen
17.07.2005 12:37:25
Rausch Kurt
Hi,
mir ist schon klar das es so wie ihr beschreibt auch funktioniert, nur möchte ich das Tabellenblatt mit den Daten niemals öffnen bzw. sollte es für keinen zugänglich sein. Es sollte lediglich auf meiner Startseite, also Datenbank, dieses Suchdialogfeld geöffnet und das Ergebnis angezeigt werden.
Und um ein Suchdialogfeld mittels Schaltfläche zu öffnen bräuchte ich ein Makro.
mfg Kurt
AW: Suche nach Plz, Ergebnis anzeigen
17.07.2005 12:39:16
Hajo_Zi
Hallo Kurt,
auch in VBA mußt Du die Quelldatei öffnen. Ansonsten müßtest Du alle Werte auslesen.
Gruß Hajo

"Wer Rechtschreibfehler findet, darf sie behalten!"
Anzeige
AW: Suche nach Plz, Ergebnis anzeigen
17.07.2005 12:43:26
Rausch Kurt
Hallo Hajo,
ein Fenster mit Suchdialog öffnet sich nun, ich kann dann einen Begriff eintragen, aber das war es dann auch schon, wo sucht dieses Makro jetzt eigentlich?
Es sollte das Tabellenblat Plz durchsuchen und am Tabellenblatt Datenbank das Ergebnis liefern.
mfg Kurt
AW: Suche nach Plz, Ergebnis anzeigen
17.07.2005 12:44:57
Hajo_Zi
Hallo Kurt,
ich lehne es ab über das Internet auf fremde Rechner zu schauen.
Gruß Hajo

"Wer Rechtschreibfehler findet, darf sie behalten!"
Anzeige
AW: Suche nach Plz, Ergebnis anzeigen
17.07.2005 12:46:13
Rausch Kurt
Nochmals Hallo,
habe hier ein Makro, es arbeitet gut nur liefert es mir nicht den Wert den er gefunden hat, sondern die Zelle wo dieser drinnen steht. Wie kann ich das ändern, das der Wert der Zelle angezeigt wird?
mfg Kurt
Option Base 1
Option Compare Text

Sub Suchen_und_anzeigen()
Dim Meldung         As Byte, Pos        As Byte
Dim Schleife        As Byte, y          As Byte
Dim Begriff, Suchen()                   As Variant
Dim Bereich                             As Range
Dim n%, x%, xZelle%, yZelle%
Dim xTabelle$(), Adresse$(), Text$
' Suchbegriff eingeben
Begriff = InputBox _
("Suchwort eingeben." & vbCrLf & _
"Willst Du Abbrechen,einfach Enter drücken", "S U C H M O D U S")
If Begriff = "" Then Exit Sub
Pos = InStr(Begriff, "+")
If Pos Then
ReDim Suchen(2)
Suchen(1) = Left(Begriff, Pos - 1)
Suchen(2) = Right(Begriff, Len(Begriff) - Pos)
Schleife = 2
Else
ReDim Suchen(1)
Suchen(1) = Begriff
Schleife = 1
End If
Application.ScreenUpdating = False
' Eigentlicher Suchvorgang (in allen Tabellenblättern)
x = 1
For y = 1 To Schleife
For n = 1 To Sheets.Count
If Sheets(n).Name <> "Auswahltabelle" Then
' Letzte Zelle des Bereiches ermitteln. Diese Zelle wird als Startzelle für
' die Suche deffiniert, da Suche nach dieser Zelle, also in erster Zelle
' des Bereiches beginnt.
'Bereich festlegen
Set Bereich = Worksheets(n).UsedRange
With Worksheets(n).Range(Bereich.Address)
xZelle = .Columns(.Columns.Count).Column
yZelle = .Rows(.Rows.Count).Row
End With
With Sheets(n).Range(Bereich.Address)
Set c = .Find(Suchen(y), after:=Cells(yZelle, xZelle), LookIn:=xlValues)
If Not c Is Nothing Then
ErsteAdresse = c.Address
Do
ReDim Preserve Adresse(x): ReDim Preserve xTabelle(x)
xTabelle(x) = Sheets(n).Name
Adresse(x) = c.Address(RowAbsolute:=False, ColumnAbsolute:=False)
Set c = .FindNext(c)
x = x + 1
Loop While Not c Is Nothing And c.Address <> ErsteAdresse
End If
End With
End If
Next n
Next y
Application.ScreenUpdating = True
' Die Anzahl der gefundenen Werte ist (x - 1), wenn keiner
' gefunden wurde dann ist x = 1
Select Case x
Case 1
Meldung = MsgBox("Es wurde leider Nix gefunden", _
vbOKOnly, "G E F U N D E N E   W E R T E")
Exit Sub
Case Else
Meldung = MsgBox("Hurra " & (x - 1) & " Übereinstimmungen gefunden.", _
vbOKOnly, "G E F U N D E N E   W E R T E")
'Tabelle einfügen
'ALTER CODE: Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
On Error Resume Next
With ActiveSheet
.Name = "Startseite"
.[A1] = "Suchergebnis"
For n = 1 To x - 1
.Cells(n + 1, 1) = xTabelle(n)
.Cells(n + 1, 2) = Adresse(n)
Next n
End With
End Select
End Sub

Anzeige
AW: Suche nach Plz, Ergebnis anzeigen
17.07.2005 13:19:08
Rausch Kurt
Hallo,
habe hier eine Testdatei wie es aussehen sollte.
Danke Kurt

Die Datei https://www.herber.de/bbs/user/24775.xls wurde aus Datenschutzgründen gelöscht

AW: Danke es klappt
17.07.2005 14:12:56
Rausch Kurt
Hallo Hajo,
Danke dir für die hilfe. Werde es noch ein bischen umbauen, aber es ist nach meinen Wünschen.
Schönen Sonntag noch
mfg Kurt
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige