Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
788to792
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
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datenfilterung

Datenfilterung
08.08.2006 14:34:39
Dirk
Hallo allen Tüftlern,
in Spalte T habe ich Werte (Format: Zahl) u. in Spalte X steht "frei" od. nichts (Format: Text).
Nun hätte ich gern in Spalte Y eine Aufstellung aller Werte, die in Spalte X ein "frei" beinhalten - und das Ganze OHNE Leerzeilen.
Hat jemand eine Idee?
MfG Dirk N.

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenfilterung
08.08.2006 14:36:47
Dr.
Hi,
wende den Autofilter an.
AW: Datenfilterung
08.08.2006 14:54:42
Dirk
Hallo Dr.,
leider kenne ich mich mit dem Autofilter nicht so recht aus, aber ich vermute, dies wäre nicht die Lösung meines Problems.
Eigentlich suche ich eine Formellösung, um diese Filterung zu automatisieren - wobei natürlich unterhalb des letzten gefilterten Wertes leere Zellen kein Problem sind.
Sollte der Autofilter diese Bedingungen allerdings erfüllen, so würde ich dich bitten, mir die Vorgehensweise kurz zu erläutern.
Vielen Dank für deine Bemühungen.
MfG Dirk N.
Wie funktioniert der Autofilter?
08.08.2006 15:05:41
Beate
Hallo Dirk,
Guckst Du: Autofilter
Anzeige
AW: Datenfilterung
08.08.2006 15:11:13
Hans
Hallo Dirk,
den folgenden Code starten:

Sub NurFrei()
Dim lRow As Long, lRowL As Long, lRowT As Long
lRowL = Cells(Rows.Count, 20).End(xlUp).Row
For lRow = 1 To lRowL
If Cells(lRow, 24).Value = "frei" Then
If Not IsEmpty(Cells(lRow, 20)) Then
lRowT = lRowT + 1
Cells(lRowT, 25).Value = Cells(lRow, 20).Value
End If
End If
Next lRow
End Sub

gruss hans
AW: Datenfilterung
08.08.2006 15:34:23
Dirk
Hallo,
@Beate u. Dr.: Vielen Dank für den Tipp mit dem Autofilter u. den Link - ich werde mich mal in diese Thematik vertiefen.
Doch sitzt mir die Zeit etwas im Nacken u. deshalb würde ich gern mit Hans' Tipp weiterarbeiten.
@Hans: Genau getroffen, allerdings habe ich noch folgenden Nachtrag:
Wie muß ich diesen Code abändern, so daß z.B. nur die ZEILEN 9 bis 22 zur Überprüfung UND Ausgabe benutzt werden (die Spalten bleiben so)?
MfG Dirk N.
Anzeige
AW: Datenfilterung
08.08.2006 15:41:12
Hans
Hallo Dirk,
wie folgt:

Sub NurFrei()
Dim lRow As Long, lRowT As Long
lRowT = 8
For lRow = 9 To 22
If Cells(lRow, 24).Value = "frei" Then
If Not IsEmpty(Cells(lRow, 20)) Then
lRowT = lRowT + 1
Cells(lRowT, 25).Value = Cells(lRow, 20).Value
End If
End If
Next lRow
End Sub

gruss hans
AW: Datenfilterung
08.08.2006 15:50:14
Dirk
Hallo Hans.
absolute Spitze, genau DAS habe ich gesucht.
So schnell wie hier die Antworten u. versch. Lösungsansätze kommen, kann man es kaum testen - PRIMA !!!
Mein Voting: Beste deutschsprachige EXCEL-Hilfe.
MfG Dirk N.
AW: Datenfilterung
08.08.2006 16:24:29
Dirk
Hallo Hans,
leider sitzt mir die Zeit etwas im Nacken, aber ich benötige noch folgende Ergänzung zu deinem Code:
Löschen der Werte des Zielbereiches bei erneutem Ausführen des Makros - also sollen nur immer die aktuellen Werte mit "frei" erscheinen.
MfG Dirk N.
Anzeige
AW: Datenfilterung
09.08.2006 08:41:00
Hans
Hallo Dirk,
setze nach die Variablendeklaration folgende Zeile:
Range("Y9:Y22").ClearContents
gruss hans
AW: Datenfilterung
09.08.2006 09:25:06
Dirk
Hallo Hans,
gerade habe ich deinen Tipp übernommen (hatte das Problem vorher schon ähnlich gelöst über den Makrorekorder). Danke für deine (kürzere) Variante !!
Doch nun tut sich ein neues Problem auf:
Für die Werte aus Y9:Y22 habe ich den Namen GueltigeEingabe definiert. Auf anderen Blättern wird dann per Gültigkeit darauf zugegriffen.
Als Beispiel: Im Blatt 'MA01' ist der Bereich B26:H26 mit dieser Gültigkeit belegt. In I26 möchte ich nun die Anzahl der gültigen Einträge zählen (bisher mittels: =SUMMENPRODUKT(($B26:$H26=GueltigeEingabe)*1)). Doch nun erscheinen in I26 falsche Werte, jede leere Zelle in B26:H26 wird mit 10 berechnet.
Wenn ich nun die "leeren Zellen" im Ursprungsbereich Y9:Y22 mit einem x (Buchstabe) versehe, rechnet die Formel wieder richtig - warum auch immer ?!?
Ist es möglich, dieses "x" automatisch zu setzen?
Hier nochmal der Ausgangscode:

Private Sub CommandButton1_Click()
'Sub NurAktiv()
Dim lRow As Long, lRowT As Long
Range("Y9:Y22").ClearContents
lRowT = 8
For lRow = 9 To 22
If Cells(lRow, 24).Value = "aktiv" Then
If Not IsEmpty(Cells(lRow, 20)) Then
lRowT = lRowT + 1
Cells(lRowT, 25).Value = Cells(lRow, 20).Value
End If
End If
Next lRow
End Sub

MfG Dirk N.
Anzeige
AW: Datenfilterung
09.08.2006 09:34:23
Hans
Hallo Dirk,
ersetze die Zeile:

Range("Y9:Y22").ClearContents

mit:

Range("Y9:Y22").Value = "x"

gruss hans
AW: Datenfilterung
09.08.2006 09:45:14
Dirk
Hallo Hans,
vielen Dank für die schnelle Hilfe - funktioniert BESTENS !!!
Zwar erscheinen auch die "x" in der Gültigkeitsliste, aber damit sollten auch die anderen User dieser Mappe klarkommen.
MfG Dirk N.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige