Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten im Array in einer Spalte filtern

Daten im Array in einer Spalte filtern
11.10.2017 16:23:06
TinaW
Hallo liebes Forum,
erstmal riesen Dank, dass ich hier immer sehr kompetente Antworten finde.
Nun zu meinem Problem.
Ich möchte gerne eine Schleife durch eine Spalte mit Daten durchlaufen lassen und jeweils diese Daten (im Code "PruefDatum" genannt) überprüfen. Wenn ein Datum innerhalb eines bestimmten Zeitraumes liegt, dann soll dieser auch in der Spalte gefiltert werden. Ich möchte das gern im VBA schreiben. Folgenden Ansatz habe ich :
AktuellesDatum = Date
Monate = Worksheets("Tabelle1").Range("A1").Value
Tage = Monate * 30
GrenzDatum = AktuellesDatum - Tage
AnzahlLetzteSpalte = Range("C65536").End(xlUp).Offset(1, 0).Row
k = 1
For i = 2 To AnzahlLetzteSpalte - 1
PruefDatum = Worksheets("Tabelle1").Cells(i, 3).Value
If PruefDatum GrenzDatum Then
Array1(k) = PruefDatum
k = k + 1
End If
Next i
Das klappt soweit auch. Wenn ich debugge, dann kann ich sehen, dass die richtigen Datums im jeweiligen Array(k)gespeichert warden. Ich kann auch jeweils Array(k) ausgeben. Aber wie kann ich alle in diesem Array gespeicherten Datums in einer Spalte ausfiltern? Oder wie kann ich den gesamten Array per Debug.prit ausgeben? Wenn ich den Befehl Debug.print Arra1(1 To k-1)as Data eingebe zeigt er fehler an und ich verstehe nicht warum :(
Besten Dank im Voraus
Gruß
Tina

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten im Array in einer Spalte filtern
11.10.2017 16:50:31
Michael
Hallo!
Du willst die Elemente Deines Arrays zeilenweise ausgeben, oder?
Schema:
    Dim j As Long
For j = LBound(Array1) To UBound(Array1)
Worksheets("Tabelle1").Cells(j + 1, "A") = Array1(j)
Next j
'ODER
For j = LBound(Array1) To UBound(Array1)
Debug.Print Array1(j)
Next j
'...
LG
Michael
AW: Daten im Array in einer Spalte filtern
11.10.2017 20:06:20
Tina
Hallo Michael,
habe es jetzt hinbekommen. Danke für deinen Rat. Ich habe einfach den Debug.Prit in die Schleife reingetan und jetzt finktionert es. Hast du evtl. eine Idee wie ich die einzelnen Daten, die ich auf den Arrayfelder gespeichert habe, mit einem Makro in der Spalte filtern kann?
LG
Tina
Anzeige
AW: Daten im Array in einer Spalte filtern
11.10.2017 21:51:45
Ralf
Hi Tina,
Datum, Array und filtern...
Schaumal hier:

Sub DatumFiltern()
Dim datStart As Date, datEnde As Date
Dim lngStart As Long, lngEnde As Long
Dim datArr, var, x&, y As Byte
Dim arrStart(2) As Date, arrEnde(2) As Date
'Datumsformate:  werden bei Zuweisung im englischen Format Monat/Tag/Jahr angegeben
arrStart(0) = #1/9/2017#: arrEnde(0) = #1/19/2017# '  9.1.2017 und 19.1.2017
arrStart(1) = #1/2/2017#: arrEnde(1) = #1/22/2017#
arrStart(2) = #1/5/2017#: arrEnde(2) = #1/17/2017#
For y = 0 To UBound(arrStart())
datStart = arrStart(y)
datEnde = arrEnde(y)
'soll nach Datumswerten gefiltert werden, muss das Datum nach Long konvertiert werden.
lngStart = CLng(datStart)
lngEnde = CLng(datEnde)
'Spalte A filtern
Columns(1).AutoFilter Field:=1, Criteria1:=">=" & lngStart, Operator:=xlAnd, Criteria2:= _
"

Anzeige

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige