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

  • Cells- zur Range-Schreibweise umwandeln

    101005   Mit dieser Funktion können Sie die die Cells-Schreibweise, z. B. Cells(1, 2) in die Range-Schreibweise z. B. Range("B1") umwandeln.   Sub umwandeln() Adresse = Cells2Range(1, 1) MsgBox Adresse End...

  • 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...

  • ScrollArea dauerhaft festlegen

    Als ScrollArea wird ein definierter Bereich bezeichnet, innerhalb dessen in Excel gescrollt werden kann. Die Einstellung der Eigenschaft finden Sie im VBA-Editor (Aufruf mit [Alt] + [F11])....

  • Verknüpfungen automatisch aktualisieren

    103007 Um die Bezüge zwischen 2 Tabellen zu aktualisieren, kann folgender Code verwendet werden:Public Sub Bezüge_aktualisieren()Workbooks("Mappe1.xls").UpdateLink...

  • Spaltenbeschriftung auslesen

    In diesem Beispiel zeigen wir Ihnen, wie sich die Spaltenbeschriftung, also die Buchstaben der Spalten z. B. A, B, C, etc. über eine benutzerdefinierte Funktion (UDF) auslesen lässt. Mit Hilfe der in...