PDA

Vollständige Version anzeigen : Suchen und Anzeigen in Excel


deiche
16.07.2012, 13:49
Sehr geehrte Damen und Herren,

ich habe eine sehr große Tabelle. Nun wiederholen sich innerhalb der Tabelle in Zeilen und Spalten verschiedene Begriffe. Ich möchte nun nach einem Begriff suchen und nur noch dieser Begriff soll in dieser Tabelle angezeigt werden. Alle anderen Begriffe sollen daraufhin ausgeblendet werden. Ich erhalte also die gleiche Tabelle mit feststehendem Tabellenkopf mit vielen Lücken(ausgeblendete Werte). Geht sowas in Excel? Wenn ja wie?
Ich hoffe mir kann jemand helfen.
Vielen Dank im Voraus!

D.Kah

chris-kaiser
16.07.2012, 13:56
Hi

Autofilter geht nicht?
http://www.youtube.com/watch?v=QvOhbPW0S44

oder meinst Du etwas anderes?

Koshi
16.07.2012, 13:56
hi

hilft dir das vielleicht ein wenig?


Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim loZeile As Long
If Target.Address = "$H$8" Then
Application.ScreenUpdating = False
ActiveSheet.UsedRange.Rows.Hidden = False
If Target <> "" Then
For loZeile = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row To 6 Step -1
Cells(loZeile, 1).EntireRow.Hidden = Application.CountIf(Rows(loZeile), Target) = 0
Next loZeile
End If
Application.ScreenUpdating = True
End If
End Sub

deiche
16.07.2012, 14:17
Keine Ahnung wie das zu verstehen oder anzuwenden ist...
Bräuchte noch einen Kommentar.

Gruß Dorit Kah

deiche
16.07.2012, 14:23
Nun das wäre zu einfach und zu schön. Leider blendet Excel alle Zeilen aus in denen der gesuchte Begriff nicht steht. Ich brauche aber noch zusätzliche Infos von dem Tabellenkopf und anderen feststehenden Zellen. Dann kann man nur spaltenweise filtern und nicht die ganze Tabelle - soweit ich weiß...

chris-kaiser
16.07.2012, 14:39
Hi

ohne Demomappe wird das wohl nichts! (in der klar erkennbar ist, was erreicht werden sollte -> am besten mit "händischem Wunschergebnis"

was sind festehenden Zellen?

deiche
16.07.2012, 14:52
Hier ein Beispielbild ich hoffe es ist verständlich...

Koshi
16.07.2012, 14:59
du öffnest dein dokument (excel)
rechtsklick auf die benötigte tabelle
Code anzeigen
in das VBA-Fenster den Code eingeben den ich gepostet habe
(den ggf anpassen)
das ganze zeug schliessen (mit aktivierten makros speichern)
erneut öffnen
makros aktivieren klicken

ich habe eine "bilderstrecke" dafür gemacht
entschuldige, falls etwas unverständlich ist - einfach nachfragen

MfG
Koshi

chris-kaiser
16.07.2012, 15:57
Hallo deiche

Mit Mappe meinte ich kein Bild!
Ich habe hier zwar mehrere Excelversionen zur Verfügung aber ein "Bild to Excelprogramm" gibt es immer noch nicht!

Sollte ich den Code jetzt auch als Bild anhängen?

Option Explicit

Sub die_katze()
Dim rngAusnahme As Range, rngwoSucheseinSoll As Range, Firstmatch As String
Set rngAusnahme = Range("3:3,11:11") 'anpassen 'in welchen Zeilen sind deine "festehenden Zellen"
Set rngwoSucheseinSoll = Range("4:10,12:16") 'anpassen
rngwoSucheseinSoll.Font.ColorIndex = 2
Dim objgefunden As Object
Dim mysearch As String
mysearch = InputBox("was suchen Sie")
Set objgefunden = rngwoSucheseinSoll.Find(mysearch, lookat:=xlWhole)
If Not rngwoSucheseinSoll Is Nothing Then
Firstmatch = objgefunden.Address
Do
objgefunden.Font.ColorIndex = xlAutomatic
Set objgefunden = rngwoSucheseinSoll.FindNext(objgefunden)
Loop While Firstmatch <> objgefunden.Address
End If
End Sub

Sub alles_anzeigen()
Cells.Font.ColorIndex = xlAutomatic
End Sub

Hasso
16.07.2012, 16:05
Hallo Deiche,

wenn es reicht, dass einfach die Schriftfarbe von den ausgeblendeten Zellen auf die Hinetrgrundfarbe gesetzt wird, kann ich folgende Lösung anbieten:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

Dim zelle As Range

If Target.Address = "$J$1" Then
For Each zelle In ActiveSheet.Range("A1:G23")
If zelle = Target Then
zelle.Font.Color = RGB(0, 0, 0)
Else
zelle.Font.Color = zelle.Interior.Color
End If
Next zelle
End If

End Sub


Ich habe in meinem Beispiel die Werte im Bereich A1:G23 stehen und das Wort, nach dem gefiltert werden soll, in J1.

Beispielmappe anbei.

deiche
16.07.2012, 16:46
Hallo

ich finde die Idee super. was ich nun noch wissen muss ist, warum sind deine Werte begrenzt? Wo hast du sie begrenzt - ich finde das Auswahlfeld nicht. Müssen diese überhaupt begrenzt sein Ich meine ich kann ja nur Hund, Katze, Vogel u.s.w. einstellen. Wo kann ich das ändern?

Gruß D.Kah

deiche
16.07.2012, 16:54
Hallo

ich habe soweit alles hinbekommen weiß allerdings nicht was Du meinst mit "Suchfeld" definieren. Bin halt noch Anfänger...

Gruß

deiche
16.07.2012, 17:11
Hallo

ich finde die Idee super. was ich nun noch wissen muss ist, warum sind deine Werte begrenzt? Wo hast du sie begrenzt - ich finde das Auswahlfeld nicht. Müssen diese überhaupt begrenzt sein Ich meine ich kann ja nur Hund, Katze, Vogel u.s.w. einstellen. Wo kann ich das ändern?

Gruß D.Kah

Koshi
16.07.2012, 17:16
falls du mich meinst mit dem suchfeld:
damit meine ich, das du im Code ein feld eingeben musst (in meinem beispiel ist das A2) was du im code unter:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim loZeile As Long
If Target.Address = "$A$2" Then
Application.ScreenUpdating = False
ActiveSheet.UsedRange.Rows.Hidden = False
If Target <> "" Then
For loZeile = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row To 6 Step -1
Cells(loZeile, 1).EntireRow.Hidden = Application.CountIf(Rows(loZeile), Target) = 0
Next loZeile
End If
Application.ScreenUpdating = True
End If
End Sub


dem rotmarkiertem machst (einfach das A und die 2 durch etwas ersetzen was du willst)
zur besseren wiedererkennung kannst du das, wie in meinem beispiel, dann auch einfärben
damit hast du dein suchfeld definiert

mfg
koshi

Koshi
16.07.2012, 17:21
hab das mal hochgeladen

deiche
16.07.2012, 17:32
Ok, es funktioniert - wie aber komme ich zum Ausgangspunkt zur ursprünlichen Tabelle zurück?

Grüßle

Hasso
16.07.2012, 17:40
Hallo deiche,

spalte I ist ausgeblendet, darin stehen die Auswahlwerte. Du kannst natürlich in J1 alle Eingaben zulassen. Markiere J1, gehe in der Leiste Daten unter Datenüberprüfung und setzte die Zelle auf "Jeden Wert" zurück.

deiche
16.07.2012, 17:54
Also das funktioniert jetzt sehr gut. Habe noch 2 Probleme
1. wie komme ich zur ursprünglichen Tabelle zurück, also nachdem ich gesucht habe und die alle anderen werte nicht mehr zu sehen sind?
2.wie kann ich einzelne Zeilen aus dem Makro rausnehmen, d.h. in denen soll nicht gesucht werden und die Daten sollen stehenbleiben und nicht weiß bzw. unsichtbar werden? Geht das?

Gruß
Dorit

Koshi
16.07.2012, 17:58
also rauskommen ist ganz einfach - du löscht einfach die eingabe im suchfeld und die gesamte tabelle stellt sich wieder her
das andere bin ich grad dabei das zu tüfteln, hab aber im moment nicht viel zeit und die lösung nicht im kopf sorry, kann also etwas dauern

mfg
Koshi

PS: zur hilfestellung deiner frage: ich gehe davon aus, das du mit den "fixierten" zeilen die meinst, in denen das Datum - in deinem beispiel - erfasst ist, richtig?