Projektanfrage

Projektanfrage über Web Formular   per Online-Formular 
Projektanfrage über E-Mail  Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Projektanfrage per Telefon  +49 (0)151 / 164 55 914
Projektanfrage weitere Informationen  weitere Informationen 

Sie benötigen Hilfe oder Unter-stützung? Nutzen Sie für Ihre Anfrage unser Online-Formular, senden Sie uns eine Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! oder rufen Sie uns einfach an.

   
      Referenzen 

 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   
     Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
   

Projektanfrage

 Sie benötigen eine Auftragsprogrammierung?
 Oder suchen Unterstützung bei der Lösungs-
 findung?

  Nutzen Sie unser Auftragsformular

  Jetzt anrufen unter 0151 / 164 55 914

 Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! Projektanfrage per Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! senden

  Weitere Informationen

sitepanel question2

P
r
o
j
e
k
t
a
n
f
r
a
g
e
   

Autofilter: Gefilterte Datensätze auslesen

In diesem Artikel erläutern wir, wie sich der über einen Autofilter gefilterte Inhalt aus einer Liste auslesen lässt.

Als Ausgangsbasis dient wieder einmal eine Artikelliste mit etwas mehr als 25 Einträgen und einer Überschriftenzeile, in der sich der Autofilter befindet, siehe Abbildung 1.


Abb. 1

Ziel ist nun, die gefilterten Einträge in einer separaten Zelle auszulesen. Filtern wir dazu zunächst die Tabelle in Spalte C auf Werte über 85. Es werden damit nur noch drei Datensätze angezeigt, alle anderen Datensätze werden ausgeblendet, siehe Abbildung 2.


Abb. 2

Um nun diese drei Werte in einer separaten Zelle darzustellen, benötigen wir eine benutzerdefinierte Funktion (UDF). Erfassen Sie dazu den folgenden Code in einem Code-Modul.

Public Function FILTERERGEBNIS(rngBereich As Range, _
  Optional trenner = vbLf) As String
'** Auslesen der gefilterten Daten
'** Parameter 1: Zellbereich
'** Parameter 2: Startzeile des Datenbereichs (ohne Überschrift)
'** Parameter 3: Optional - Individueller Daten-Trenner
'****************************************************************************

'** Dimensionierung der Variablen
Dim varArr As Variant
Dim objDic As Object
Dim intI As Integer
Dim lngL As Long
Dim lngStartZ As Long

'** Bereich übergeben
varArr = rngBereich

'** Objekt definieren
Set objDict = CreateObject("Scripting.Dictionary")

'** Startzeile der Liste aus Bereichsangabe auslesen
lngStartZ = rngBereich(1, 1).Row

'** Datenbereich durchlaufen
For intI = LBound(varArr, 2) To UBound(varArr, 2)
  For lngL = LBound(varArr, 1) To UBound(varArr, 1)
    '** Prüfen, ob Zeile eingeblendet ist
    If Cells(lngL + lngStartZ - 1, 1).Rows.Hidden = False Then
      '** Inhalt dem Dictionary-Objekt übergeben
      objDict(varArr(lngL, intI)) = 0
    End If
  
  Next
Next

'** Inhalte zusammensetzen und der Funktion zurückgeben
FILTERERGEBNIS = Join(objDict.keys, trenner)

End Function

So wird die Funktion verwendet:

  • Erfassen Sie die neue benutzerdefinierte Funktion in einer Zelle, bspw. Zelle E3: =FILTERERGEBNIS(B5:B31;5;" - ")
  • Als erster Parameter wird die Bereichsangabe übergeben, also der Listenbereich, der ausgelesen werden soll. Im Beispiel also die Artikelbezeichnung aus dem Zellbereich B5:B31.
  • Der zweite Parameter ist optional. Damit kann ein Trennzeichen wischen den einzelnen Werten übergeben werden. Im Beispiel wurde der Parameter " - " übergeben, so dass ein Minuszeichen mit vor- und nachgestelltem Leerzeichen an die einzelnen Daten angehängt wird. Wenn dieser Parameter nicht übergeben wird, werden die einzelnen Zellinhalte einfach nacheinander geschrieben.

Als Ergebnis werden die Bezeichnungen der drei gefilterten Datensätze in Zelle E3 eingetragen, siehe Abbildung 3.


Abb. 3

Sobald nun der Filter geändert wird und andere Datensätze in der Artikelliste angezeigt werden, wird die Auflistung in Zelle E3 dementsprechend angepasst. Damit befinden sich in Zelle E3 immer sämtliche gefilterte Datensätze, die dann entsprechend weiter verwendet werden können.

Die Beispieldatei können Sie über den folgenden Link herunterladen.

 

   

Relevante Artikel

  • Bilder in Zellen importieren

    Per VBA lassen sich Bilder aus einem angegebenen Verzeichnis auslesen und importieren. Die vorgestellte Prozedur liest die Bilder aus dem eingestellten Verzeichnis "F:\Pic" aus. Die im Verzeichnis...

  • Letzte Zeile, letzte Spalte und letzte Zelle per VBA ermitteln

    101012 Nachfolgend sehen Sie einige Makros, mit denen die letzte Zeile, die letzte Spalte bzw. die letzte Zelle ermittelt werden kann. Die Erläuterungen zu den einzelnen Makros finden Sie als...

  • Einträge nach Zellfarbe sortieren

    101071 Folgendes Makro sortiert die Zellen A1 bis A10 nach Zellfarben in aufsteigender Reihenfolge.Maßgebend für das sortieren ist die Farbzahl (Index). Je größer der Farbindex desto weiterhinten...

  • Farbschleife - Zellen abwechselnd einfärben

    Dieses Beispiel zeigt, wie ausgehend von der aktuell markierten Zelle, weitere 33 Zellen, also insgesamt 34 Zellen mit einem farbigen Zellhintergrund belegt werden. Dabei sollen die ersten drei...

  • Sortieren einer Tabelle per VBA mit mehr als 3 Kriterien

    Anbei ein kleines Beispiel für das Sortieren einer Tabelle per VBA mit mehr als 3 Kriterien. Es wird sowohl das auf- als auch das absteigende Sortieren demonstriert. Bis Excel 2003 ist die Anzahl...