Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Wie kann ich eine Suchmaske in EXCEL erstellen??

3,602 views
Skip to first unread message

in EXCEL??@discussions.microsoft.com Suchmaske in EXCEL??

unread,
Aug 12, 2005, 5:51:41 AM8/12/05
to
Ich habe mehrere Tabellenblätter mit den spezifischen Informationen zu
jeweils einem bestimmten Gerät auf jedem Blatt. Nun möchte ich auf meiner
ersten Tabellenseite eine Suchmaske gestalten, mit der ich alle Informationen
zu den jeweiligen Geräten erhalte, die der Anfrage entsprechen. Wie kann ich
dieses Problem lösen? Oder ist es überhaupt möglich?

Kai Ottenbacher

unread,
Aug 12, 2005, 6:37:14 AM8/12/05
to
Hallo Unbekannte(r),

schau dir mal in der Hilfe die Formeln SVERWEIS bzw. WVERWEIS an.

Gruß, Kai

Verhaegh, Willi

unread,
Aug 12, 2005, 8:13:08 AM8/12/05
to
Hallo Suchmaske in Excell??

Suche mal in der NG unter Inhaltsverzeichnis.

Gruß

Willi

Alexander Wolff

unread,
Aug 12, 2005, 8:27:30 AM8/12/05
to
Suchmaske in EXCEL?? schrieb unlängst:

Dein Tabellenaufbau ist nicht so, daß man dies leicht erreicht.

Pack die Daten je eines Geräts in nur eine Zeile _einer_ Liste, in der _alle
Geräte_ stehen.

Nun kannst Du
a) in einem _einzigen_ Gerätedatenblatt mit SVERWEIS die Gerätedaten
übersichtlich ausgeben oder
b) an Ort und Stelle in Deiner Liste anfrageübereinstimmende Geräte
anzeigen.
--
Hallo + Gruss Alexander (WinXP Home SP1 - Office 2000 SP3) 6----5----7-2


Suchmaske in EXCEL??

unread,
Aug 15, 2005, 5:47:04 AM8/15/05
to

"Alexander Wolff" wrote:

Hallo.

Danke erstmal. Es funktioniert aber einfach nicht so wie es soll. Gibt es
denn nicht eine leichtere Lösung? Ich versuch jetzt mal hier ein Beispiel zu
zeigen:

Name Vorname Alter Geburtstag
A B 20 21.03.2005
C D 22 12.08.2000
C E 19 24.05.1999
F G 23 21.032005

So in der Art sieht meine Tabelle(2) aus, nur mit Geräten eben. Nun möchte
ich in Tabelle(1) in ein Tabellenfeld ein Suchkriterium eingeben, welches
eins von den vieren da oben sein kann. Dann sollen in Tabelle(1) unterhalb
meines Suchkriteriums alle Datensätze aufgelistet werden, in etwa so:

Suchkriterium: 21.03.2005

Name Vorname Alter Geburtstag
A B 20
21.03.2005
F G 23
21.03.2005

So sollte dann das Ergebnis aussehen. Wenn du dazu noch eine Idee hättest,
wäre das super. Ich bin schon am verzweifeln.

Irgendwie klappt das bei mir nicht mit dem SVERWEIS und WVERWEIS.

MfG Alexander

Wolfgang Habernoll

unread,
Aug 15, 2005, 9:32:15 AM8/15/05
to
Hallo Alexander

wenn man die Daten in einer Maske darstellt würdest du ja keine Auflistung
sondern immer 1 Satz sehen dein Bsp.
A B 20 21.03.2005 weiterblätten
F G 23 21.03.2005

du solltest es mit dem Autofilter probieren. markiere Spalte D (Geburtstag)
wähle dann -> Daten > Filter ->Autofilter und dann kannst du 21.03.2005
wählen und hast dein gewünschtes Ergebnis.

mfG Wolfgang

Wolfgang Habernoll

unread,
Aug 15, 2005, 9:48:51 AM8/15/05
to
Sorry Alexander

> So in der Art sieht meine Tabelle(2) aus, nur mit Geräten eben. Nun möchte
> ich in Tabelle(1) in ein Tabellenfeld ein Suchkriterium eingeben, welches

wer lesen kann ist klar im Vorteil, da nützt die der Autofilter nix,
kann es den auch VBA sein ?

mfg Wolfgang

Suchmaske in EXCEL??

unread,
Aug 15, 2005, 10:07:03 AM8/15/05
to

"Wolfgang Habernoll" wrote:

> Hallo,

wenn du mir sagst, wie es geht dann ja. Weil mit VBA habe ich echt noch
nicht viel gemacht. Meistens haben die Sachen dann funktioniert, wenn ich
lange rumprobiert habe, ohne wirklich zu wissen, was ich da mache. Also,
falls du eine leicht verständliche Anleitung hast, wäre die mir sehr
willkommen.

Vielen Dank im Voraus.

Alexander
>
>
>
>

Wolfgang Habernoll

unread,
Aug 16, 2005, 4:37:22 AM8/16/05
to
Hallo Alexander

> wenn du mir sagst, wie es geht dann ja. Weil mit VBA habe ich echt noch
> nicht viel gemacht. Meistens haben die Sachen dann funktioniert, wenn ich
> lange rumprobiert habe, ohne wirklich zu wissen, was ich da mache. Also,
> falls du eine leicht verständliche Anleitung hast, wäre die mir sehr
> willkommen.

ich versuche es mal. Da ich deine Tabelle nicht genau kenne, bleiben wir mal
bei deinem geposteten Bsp. Du musst dann halt die Bereiche entsprechend
anpassen. !* Voraussetzung ist aber die Quelldaten stehen in einem "Block"
und nicht verteilt in der Tabelle, und die Spalten im Zielbereich sollten
frei für die Daten sein* , zum testen solltest du nicht deine Originale
nehmen (so etwas machen manche Leute).

Mein Vorschlag zum Suchkriterium, markiere in Tab2 die Spalte D
(Geburtstage) und gebe ihr mit Einfügen->Namen->definieren einen Namen. Dann
markiere in Tab1 die Zelle E1 und erstelle eine Liste
Daten->Gültigkeit->zulassen Liste, Quelle =deinNamen. Du kannst du noch eine
CheckBox1 aus der Steuerelementetoolbox mit der enschieden wird ob die
Zieldaten in Tab1 dazu oder neu geschriben werden. Ist im Code schon drin.

Ich hoffe der Code ist versändlich, hier sind die Spalten A-D festgelegt,
die belegten Zeilen werden automatisch erkannt.
Nun braucht du nur noch den Code ins Worksheet_Change Ereignis von Tabelle1
kopieren und es kann losgehen. Es ist getestet und klappt.


Private Sub Worksheet_Change(ByVal Target As Range)
' E1 ist dein Tabellenfeld für das Suchkriterium
If Target.Address <> "$E$1" Then Exit Sub

Dim myQuell As Worksheet
Dim myZiel As Worksheet
Dim myDatenBereich As Range
Dim myErstFund As String
Dim myFund As Range

Set myQuell = Worksheets("Tabelle2") ' hier stehen die Daten
Set myDatenBereich = myQuell.Range("A2:D" &
myQuell.Range("D65535").End(xlUp).Row)
Set myZiel = Worksheets("Tabelle1") ' hier sollen die gewählten hin

'' Ziel für neuen Eintrag leeren !!! Bsp entpricht Spalte A-D (wie in
Quelle)
If CheckBox1 Then '' wenn alte List gelöscht werden soll
If myZiel.Range("D2") <> Empty Then
myZiel.Range("A2:D" &
myZiel.Range("D1").End(xlDown).Row).ClearContents
End If
End If

With myDatenBereich
Set myFund = .Find(Target, LookIn:=xlValues)
If Not myFund Is Nothing Then
myErstFund = myFund.Address
Do
myDatenBereich.Rows(myFund.Row - 1).Copy
myZiel.Paste Destination:=myZiel.Range("A" &
myZiel.Range("D65535").End(xlUp).Row + 1)
Set myFund = .FindNext(myFund)
Loop While Not myFund Is Nothing And myFund.Address <> myErstFund
End If
End With

End Sub

mfG Wolfgang

0 new messages