Herbers Excel-Forum - das Archiv

Tabelle durchsuchen

Bild

Betrifft: Tabelle durchsuchen
von: Peter

Geschrieben am: 24.12.2006 14:47:35
Hallo Zusammen,
möchte ein komplettes Tabellenblatt Namens "Quelldaten" nach Zellen durchsuchen, die kursiv formariet und in eine Tabelle Namens "Ergebnis" übernehmen. Doppelte Beriffe sollen dabei nur einmal in die Tabelle "Ergebnis" übernommen werden, so das jeder Begiff nur einmal in der Tabelle "Ergebnis" vorkommt. Die Daten aus "Quelldaten" sollen dann in "Ergebnis" so ab Zeile 8 untereinander aufgelistet werden. Kann mir hierfür jeman ein VBA-Code schreiben?
Ich hoffe das mir jemand helfen kann.
Bild

Betrifft: AW: Tabelle durchsuchen
von: Herby

Geschrieben am: 24.12.2006 16:32:33
Hallo Peter,
nachstehendes Makro kopiert dir alle Zellen sofern Kursiv formatiert, aus dem Bereich A1:D100 (ggf. anpassen auf A1:IV65536) in das Blatt Ergebnis in Spalte A.
Doppelte Begriffe müsstest Du ggf. über Daten - Filter - Spezialfilter - keine Dublikate danach noch herausfiltern.
Bei Bedarf kann man das auch per Makro automatisieren.
Sub Bescherung()
Dim wks1 As Worksheet, wks2 As Worksheet
Dim Zelle As Range
Dim i As Long
Set wks1 = Worksheets("Quelldaten")
Set wks2 = Worksheets("Ergebnis")
i = 7
For Each Zelle In Range("A1:D100")
If wks1.Cells(Zelle.Row, Zelle.Column).Font.Italic = True Then
i = i + 1
wks2.Cells(i, 1) = Zelle
End If
Next
End Sub

Frohes Fest
Herby
Bild

Betrifft: AW: Tabelle durchsuchen
von: Peter
Geschrieben am: 24.12.2006 20:44:17
Hallo,
danke das Makro funktioniert einwandfrei, aber es wäre wesendlich einfacher wenn man das herausfiltern der doppelten Begriffe mit dem Makro machen könnte.
Bild

Betrifft: AW: Tabelle durchsuchen
von: Herby

Geschrieben am: 25.12.2006 12:06:16
Hallo Peter,
hast recht, warum soll man es mit der Hand machen wenns per Makro automatisch geht.
Das Makro Bescherung ruft am Schluss noch das Makro Dublikate auf. Dieses filtert über den Spezialfilter die Dublikate raus. Dazu braucht es aber eine "Hilfsspalte" diese kannst du irgendwohin legen, wo es nicht stört. Im Makro ist es aktuell die Spalte B.
Nach dem Durchlauf wird diese Spalte wieder gesäubert.
Viele GRüße
Herby
Sub Bescherung()
Dim wks1 As Worksheet, wks2 As Worksheet
Dim Zelle As Range
Dim i As Long
Set wks1 = Worksheets("Quelldaten")
Set wks2 = Worksheets("Ergebnis")
i = 7
For Each Zelle In wks1.Range("A1:D100")
If wks1.Cells(Zelle.Row, Zelle.Column).Font.Italic = True Then
i = i + 1
wks2.Cells(i, 1) = Zelle
End If
Next
Set wks1 = Nothing
Set wks2 = Nothing
dublikate
End Sub

Sub dublikate()
Dim wks1 As Worksheet
Dim Bereich As Range
Dim lZ1 As Long, lZ2 As Long
Set wks1 = Worksheets("Ergebnis")
lZ1 = wks1.Cells(wks1.Rows.Count, 1).End(xlUp).Row
Set Bereich = wks1.Range("A8:A" & lZ1)
'Bereich.AdvancedFilter Action:=xlFilterInPlace, criteriaRange:=Bereich, unique:=True
Bereich.AdvancedFilter Action:=xlFilterCopy, criteriaRange:=Bereich, CopyToRange:=wks1.Range("B8"), unique:=True
wks1.Range("A8:A" & lZ1).Clear
lZ2 = wks1.Cells(wks1.Rows.Count, 2).End(xlUp).Row
wks1.Range("B8:B" & lZ2).Copy wks1.Range("A8")
wks1.Range("B8:B" & lZ1).Clear
End Sub

 Bild
Excel-Beispiele zum Thema "Tabelle durchsuchen"
Suche über mehrere Tabellen Benennen von Tabellenblättern mit Monatsnamen
Druckseitenlinien im Tabellenblatt Tabellenblattnamen in ein Listenfeld einlesen
Suchbegriff über mehrere Tabellenblätter suchen. Tabellenblätter benennen
Tabellenblatt auswählen Zustand von Tabellenblatt-Checkboxes ermitteln
Tabellenblattnamen der VBE-Projekte ändern Tabellenblattnamen nach Datum