Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1080to1084
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

Filterergebnis an anderer Stelle ausgeben

Filterergebnis an anderer Stelle ausgeben
11.06.2009 17:09:57
Bibo
Hallo liebe EXCEL-Freunde und VBA-Profis,
ich habe im Archiv den nachstehenden Code gefunden, der in der beigefügten Beispielmappe eigentlich auch ganz prima funktioniert.
Option Explicit

Sub FilterCriteria()
Dim intRow As Integer, intCol As Integer
intRow = Range("A1").CurrentRegion.Rows.Count + 2
intCol = 1
Do Until IsEmpty(Cells(1, intCol))
With ActiveSheet.AutoFilter.Filters(intCol)
If .On Then
Cells(intRow, intCol).Value = .Criteria1
End If
End With
intCol = intCol + 1
Loop
Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _
Cells(intRow + 1, 1)
End Sub


Ich habe zwar herausgefunden, dass ich in der letzten Zeile bei "Cells(intRow + 1, 1)" die Ausgabeposition im selben Tabellenblatt verschieben kann, weiß aber nicht, wie ich den Code anpassen müsste, um eine Ausgabe der Filterwerte z.B. im Tabellenblatt "Auswertungen" der selben Arbeitsmappe beginnend in Zelle B15 oder z.B. in Tabelle 2 Zelle B10 einer neuen Arbeitsmappe zu erreichen. Wie kann man denn die Ausgabe des Filterkriteriums an erster Position des Datenbereiches (in Beispielmappe farblich gekennzeichnet) eliminieren.
https://www.herber.de/bbs/user/62376.xls
Bitte helft mir.
Mit freundlichen Feiertagsgrüssen
Bibo

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Blattname mit angeben
11.06.2009 17:16:30
NoNet
Hallo Bibo,
meinst Du das etwa so ? (Sheets("Auswertung"). mit angegeben) :
VBA-Code:
Sub FilterCriteria()
   Dim intRow As Integer, intCol As Integer
   intRow = Range("A1").CurrentRegion.Rows.Count + 2
   intCol = 1
   Do Until IsEmpty(Cells(1, intCol))
      With ActiveSheet.AutoFilter.Filters(intCol)
         If .On Then
            Cells(intRow, intCol).Value = .Criteria1
         End If
      End With
      intCol = intCol + 1
   Loop
   Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _
      Sheets("Auswertung").Cells(intRow + 1, 1)
End Sub
Gruß, NoNet
AW: Blattname mit angeben
Bibo

Hallo NoNet,
danke für den schnellen Tip.
Habe Deine neue Codezeile "Sheets("Auswertung").Cells(intRow + 1, 1)" noch abgewandelt in "Sheets("Auswertung").Range("B15")". Klappt einwandfrei, allerdings wird noch immer im Tabellenblatt "Daten" das Filterkriterium der Spalten A und/oder B mit einer Leerzeile unterhalb des Datenbereiches eingetragen. Hat das mit "intRow = Range("A1").CurrentRegion.Rows.Count + 2" irgendwie zu tun?
Habe jetzt noch entdeckt, dass ein Export der nach Spalte C "Betrag" gefilterten Daten wegen Typenunverträglichkeit nicht funktioniert (Fehler 400). Wie könnte man das denn korrigieren?
Hast Du vielleicht noch einen Tip wegen des Exports in eine neue Arbeitsmappe?
Nochmals vielen Dank.
Mit freundlichem Gruß
Bibo
AW: Blattname mit angeben
Bibo

Hallo EXCEL-Freunde,
hat jemand von Euch noch weitere Ideen.
Als Zwischenlösung hinsichtlich des noch immer im Tabellenblatt "Daten" eingetragenen Filterkriteriums der Spalten A und/oder B mit einer Leerzeile unterhalb des Datenbereiches, behelfe ich mir in der Beispielmappe mit dem Löschen des Bereiches mit dem Codeschnipsel "Range("A13:C13").ClearContents", der in der Realität dann nicht mehr funktionieren wird, sobald neue Datensätze hinzukommen. Wie kann man die unelegante Methode denn mit einer variablen Bezeichnung des zu löschenden Bereichs optimieren, wenn ich schon den Eintrag als solches nicht verhindern kann?
Lade nochmal die nach dem Hinweis von NoNet modifizierte Mappe hoch.
https://www.herber.de/bbs/user/62380.xls
Mit freundlichem Gruß
Bibo
AW: Blattname mit angeben
Christian
Anzeige
AW: Blattname mit angeben
11.06.2009 18:00:17
Bibo
Hallo NoNet,
danke für den schnellen Tip.
Habe Deine neue Codezeile "Sheets("Auswertung").Cells(intRow + 1, 1)" noch abgewandelt in "Sheets("Auswertung").Range("B15")". Klappt einwandfrei, allerdings wird noch immer im Tabellenblatt "Daten" das Filterkriterium der Spalten A und/oder B mit einer Leerzeile unterhalb des Datenbereiches eingetragen. Hat das mit "intRow = Range("A1").CurrentRegion.Rows.Count + 2" irgendwie zu tun?
Habe jetzt noch entdeckt, dass ein Export der nach Spalte C "Betrag" gefilterten Daten wegen Typenunverträglichkeit nicht funktioniert (Fehler 400). Wie könnte man das denn korrigieren?
Hast Du vielleicht noch einen Tip wegen des Exports in eine neue Arbeitsmappe?
Nochmals vielen Dank.
Mit freundlichem Gruß
Bibo
Anzeige
AW: Blattname mit angeben
11.06.2009 19:36:26
Bibo
Hallo EXCEL-Freunde,
hat jemand von Euch noch weitere Ideen.
Als Zwischenlösung hinsichtlich des noch immer im Tabellenblatt "Daten" eingetragenen Filterkriteriums der Spalten A und/oder B mit einer Leerzeile unterhalb des Datenbereiches, behelfe ich mir in der Beispielmappe mit dem Löschen des Bereiches mit dem Codeschnipsel "Range("A13:C13").ClearContents", der in der Realität dann nicht mehr funktionieren wird, sobald neue Datensätze hinzukommen. Wie kann man die unelegante Methode denn mit einer variablen Bezeichnung des zu löschenden Bereichs optimieren, wenn ich schon den Eintrag als solches nicht verhindern kann?
Lade nochmal die nach dem Hinweis von NoNet modifizierte Mappe hoch.
https://www.herber.de/bbs/user/62380.xls
Mit freundlichem Gruß
Bibo
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige