Anzeige
Archiv - Navigation
1192to1196
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

Datumszeitraum filtern

Datumszeitraum filtern
Oliver
Hallo: Bin hier auf diese tolle Seite gestoßen und habe auch schon Stundenlang nach meinem Problem gesucht und nichts gefunden. Bin totaler VBA Anfänger und versuche das meiste über den Rekorder zu bewältigen. Habe nun ein Problem mit einer Datumsfilterung in Excel 2003. In 2010 oder 2007 taucht dieses Problem nicht auf. Ich habe ein Tabellenblatt "Jahr" . In diesem Blatt sind die ganzen Daten eines Jahres ca. 40 000. Nun muss ich jeden Monat 10 Tageweise dokumentieren. Deshalb filtere ich den gewünschten Monat in ein neues Arbeitsblatt "Monat Eingang" und ein neues Arbeitsblatt "Monat Ausgang". jetzt erstelle ich drei neue Arbeitsblätter "Monat Eingang vom 1 bis 10" , "Monat Eingang vom 11 bis 20","Monat Eingang vom 20 bis 31", und filtere aus "Monat Eingang" die Zeiträume in diese Blätter. Das gleiche mache ich mit "Monat Ausgang". In Excel 2007 oder 2010 würde das per Makroaufzeichnung gehen, wenn ich 12 monatsbezogene Makros aufzeichnen würde. An meinem Arbeitsplatz ist aber Excel 2003 installiert und Lizenzen für 2007 sind nicht erworben. Außerdem glaubt man sowieso nicht daran, dass man solche Abläufe automatisieren kann. Genau, aber für immer wiederkehrende Arbeiten ist doch VBA erst sinnvoll ?
Ich probiere nun seit Tagen an dieser Filterung, über einen ganz anderen Weg, zurecht zu kommen, aber ich habe zu wenig Kenntnisse, wie man mit Schleifen, Variablen usw. umgeht. Außerdem kann ich kein englisch.
Vielen Dank für diese Seite, die mir schon einiges beigebracht hat und Eure Hilfe sowieso.
O.Adler

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Datumszeitraum filtern
25.12.2010 11:42:29
Reinhard
Hallo Oliver,
irgendwie ein Schreibstil der mir vertraut vorkommt, hast du vor dich demnächst in Oli:-? umzubennen?
*hihi*, war was für Insider, kannste nicht verstehen *glaub*
Zeichne das doch mal für einen Monat auf in XL2003 und zeige den Code.
Gruß
Reinhard
AW: Datumszeitraum filtern
25.12.2010 18:40:06
Oliver
Hallo Reinhard
Vielen Dank für Deine schnelle Antwort.
Zu Deiner dritten Zeile *hihi*
Zwei Möglichkeiten : Du hast mich gegooglet und bist auf meiner Webbi gelandet.
Oder Du gehörst zu Denjenigen, die mir seelischen und finanziellen Schaden zugefügt haben. Mein lebenslanger Patriotismus und alles woran ich geglaubt habe wurde zerstört. OK, alles BLA, BLA .
Solltest Du die zweite Möglichkeit sein, verzichte ich auf weitere Hilfe.
Sollte das nicht der Fall sein, wäre ich froh und habe die Aufzeichnung eingefügt.
Deine Hilfe muss auch nicht kostenlos sein !
Excel 2003 klappt den Filter auf null Daten hoch. Schaut man im Filter nach, steht das richtige in der benutzerdefinierten Box. Es fehlt das OK .
Hab noch mal Dank für deine Mühe !
Sub Einfügen_2003()
' Einfügen_2003 Makro
' Makro am 25.12.2010 von Silveradler aufgezeichnet
Sheets("Jahr").Select
Selection.AutoFilter
Selection.AutoFilter Field:=9, Criteria1:="E"
Cells.Select
Selection.Copy
Sheets("Monat").Select
Range("A1").Select
ActiveSheet.Paste
Range("A1").Select
Sheets("Jahr").Select
Application.CutCopyMode = False
Selection.AutoFilter
Rows("1:1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=9, Criteria1:="A"
Cells.Select
Selection.Copy
Sheets("MonatOut").Select
Range("A1").Select
ActiveSheet.Paste
Range("A1").Select
Sheets("Jahr").Select
Application.CutCopyMode = False
Selection.AutoFilter
Range("A1").Select
Sheets("Monat").Select
Rows("1:1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=4, Criteria1:=">=01.11.2010", Operator:=xlAnd _
, Criteria2:="=11.11.2010", Operator:=xlAnd _
, Criteria2:="=21.11.2010", Operator:=xlAnd _
, Criteria2:="=01.11.2010", Operator:=xlAnd _
, Criteria2:="=11.11.2010", Operator:=xlAnd _
, Criteria2:="=21.11.2010", Operator:=xlAnd _
, Criteria2:="

Anzeige
AW: Datumszeitraum filtern
25.12.2010 19:03:17
Reinhard
Hallo Silveradler,
du liegst da völlig falsch, auf was ich anspielte war einzig hier ein anderer Teilnehmer hier bei herber, der halt auch Beiträge reinstellt, die als Block daher kommen, also nicht durch Absätze getrennt.
Einzig das meinte ich.
"Deine Hilfe muss auch nicht kostenlos sein !"
Upsala, ist ja wie Weihnachten, da öffnet sich meine linke Hosentasche automatisch ein großes Stück (links hab ich immer die Scheine, rechts die Münzen)
Und da ist Vieeeeeeeelllllll Platz :-)
Deinen Code, muß ich mir noch anschauen, hab jetzt nur mal so geantwortet.
Gruß
Reinhard
Anzeige
AW: Datumszeitraum filtern
27.12.2010 14:25:49
Reinhard
Hallo Oliver,
wenn ich dich richt verstanden habe so teste mal nachstehenden Code.
Du brauchst ein Hilfsblatt "Hilfe"n mit den Kriterien für den Spezialfilter.
Bei Herber kann ich nicht hochladen, 7,33 MB, k.A. warum bis auf "Jahr" ist alles leer.
http://www.file-upload.net/download-3081756/kwDatum-filtern-E.A.Statistik-Demo_Forum.2012.xls.html
Sub Einfügen_2003()
Dim wks As Worksheet, Zei As Long, ZeiH As Long, Ber As Range
Application.ScreenUpdating = False
With Sheets("Jahr")
Zei = .Cells(Rows.Count, 9).End(xlUp).Row
For Each wks In ThisWorkbook.Worksheets
If wks.Name Like "Monat*" Then
wks.UsedRange.ClearContents
ZeiH = Application.Match(wks.Name, Worksheets("Hilfe").Columns(1), 0)
Set Ber = Worksheets("Hilfe").Cells(ZeiH, 2).Resize(2, 13)
.Range("A1:M" & Zei).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Ber, CopyToRange:=wks.Range("A1"), Unique:=False
End If
Next wks
End With
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard
Anzeige
AW: Datumszeitraum filtern
27.12.2010 18:50:39
Oliver
Hallo Reinhard: vielen Dank erst mal für Deine Mühe.
Hast Du das erste Blatt nicht gelesen ?
Das Blatt Jahr enthält die Daten des ganzen Jahres.
Das Blatt Monat steht für Eingänge des Monates, den ich filtern will. z.B. 01.01.2010 - 31.01.2010
Also filtere ich aus Blatt Jahr dies heraus.
Das Blatt "Monat1" steht für Eingänge vom 01.01.2010 - 10.01.2010 . das filtere ich dann aus Blatt Monat heraus, weil die Ausgänge ja nun nicht mehr vorhanden sind.
Das Blatt "Monat2" steht für Eingänge vom 01.11.2010 - 10.20.2010
Das Blatt "Monat3" steht für Eingänge vom 01.21.2010 - 10.31.2010
MonatOut_10 steht für Ausgänge vom 01.01.2010 - 10.01.2010
MonatOut_20 steht für Ausgänge vom 01.11.2010 - 10.20.2010
MonatOut_30 steht für Ausgänge vom 01.21.2010 - 10.31.2010 und filtere ich natürlich aus Monat Out heraus.
Starte doch mal in Office 2007 das Makro Januar, dann sind die anderen Blätter auch ausgefüllt. So wie ich
es brauche.
Das sortieren von "Jahr" in den Monat und "Monat Out" würde gehen, wenn ich nur die Eingänge mit 2003 filtern würde.
Erst wenn ich von Blatt "Monat" weiter filtere versagt Office 2003. In Modul 2003 siehst Du es genau woran es hängt. In Spalte "I" sind die Ein und Ausgänge mit "A" oder "E" gekennzeichnet.
Dein Makro verstehe ich leider nicht, oder Du müsstest es mir erklären.
Gruß: o. Adler
Anzeige
AW: Datumszeitraum filtern
27.12.2010 20:20:27
Reinhard
Hallo Oliver,
:::Hast Du das erste Blatt nicht gelesen ?
doch, habe ich.
Das Blatt Jahr enthält die Daten des ganzen Jahres.
Das Blatt Monat steht für Eingänge des Monates, den ich filtern will. z.B. 01.01.2010 - 31.01.2010
Also filtere ich aus Blatt Jahr dies heraus.
Okay, da muß das Blatt Hilfe geändert werden.
Du mußt da in E2:F2 sowie E5:F5 nur links >= 01.01.2010 und rechts Starte doch mal in Office 2007 das Makro Januar, dann sind die anderen Blätter auch ausgefüllt. So wie ich
es brauche.
Gut, das makro habe ich bislang nicht beachtet.
Das sortieren von "Jahr" in den Monat und "Monat Out" würde gehen, wenn ich nur die Eingänge mit 2003 filtern würde.
"Sortieren"?
Erst wenn ich von Blatt "Monat" weiter filtere versagt Office 2003. In Modul 2003 siehst Du es genau woran es hängt. In Spalte "I" sind die Ein und Ausgänge mit "A" oder "E" gekennzeichnet.
Sorry, ich sehe da nix was hängt.
Dein Makro verstehe ich leider nicht, oder Du müsstest es mir erklären.
Es benutzt den Spezialfilter von Excel und filtert für alle relevanten Blätter direkt von "Jahr" aus, aufgrund der Filterkriterien in "Hilfe".
Spezialfilter ist für so Zwecke besser als Autofilter.
Ändere mal wie gesagt "hilfe", dann berichte.
Gruß
Reinhard
Gruß
Reinhard
Anzeige
AW: Datumszeitraum filtern
27.12.2010 20:52:24
Reinhard
Hallo Oliver,
ich rätsel immer noch warum deine Mappe so groß ist.
Im Blatt "jahr" sind schon 2,2 MB Bytes. Das erklärt aber nicht warum die Gesamtdatei über 7 MB hat.
Wie gesagt, die anderen Blätter sind quasi leer.
Übrigens, Spalten ausblenden ist ein schlechter Schutz vor neugierigen Blicken falls du das beabsichtigt hast.
Mein Vorschlag ist, erzeuge mal eine neue Mappe, kopiere da manuell das Blatt "Jahr", genauer den sichtbaren gefüllten Zellbereich hinein und erzeuge die anderen Blättern.
ggfs. vorher alle Spalten einblenden, weiß das grad nicht.
Ist dann die neue Mappe genauso groß?
Gruß
Reinhard
Anzeige
AW: Datumszeitraum filtern
27.12.2010 22:27:38
Oliver
Hallo Reinhard:
Habe Dir die Mappe so klein wie möglich gemacht. Du hast jetzt nur noch den Januar zur Verfügung.
An die ausgeblendeten Zellen habe ich gar nicht gedacht. Tschuld..., aber das ist ja nicht das Problem.
Ein Jahr sind halt über 40 000 Daten und ich denke die Größe ist eigentlich normal. Über 9000 waren es in dieser Mappe.
Wenn ich die Daten im CSV. Format übernehme ist die Mappe natürlich kleiner.
Ich habe Die auch alle anderen Makros, die nach meinem Problem folgen, in der Mappe gelassen. Kannst mal Deine Kritik an mich gerne äußern. Anfänger brauchen das. Wichtig für mich ist,... es funktioniert...!
http:///www.oliver-adler-vogtsburg.de/Excel/Forum_Statistik.25.12.2010%20.xls
Sind noch 1,4 MB
Gruß: O.Adler
Anzeige
AW: Datumszeitraum filtern
28.12.2010 13:58:15
Reinhard
Hallo Oliver,
die ausgeblendeten Spalten habe ich natürlich eingeblendet, wollte ja wissen warum die Mappe so groß ist.
Ich gab dann alle Bytes in "Jahr" gezahlt, ca. 2,2 MB. Alle Blätter mit Monat im Namen waren leer.
Trotzdem hatte die mappe über 7 MB.
Ich habe dann das gemacht was ich dir riet und die Daten des Blattes "Jahr" in eine neue leere Mappe mit Strg+C/Strg+V kopiert. Die anderen Blätter angelegt, die makros rübergeholt.
Schon war ich bei 4,1 MB...
WEnn ich alles richtig verstanden habe willst du im
Blatt Monat alle daten aus Jahr" Hben, die ein E in Spalte I
Blatt MonatOut alle daten aus Jahr" Hben, die A in Spalte I
Blatt Monat1 alle daten aus Jahr" Hben, die im Zeitraum 1.1.10-10.1.10 liegen und ein E in Spalte I
Blatt Monat2 alle daten aus Jahr" Hben, die im Zeitraum 11.1.10-20.1.10 liegen und ein E in Spalte I
Blatt Monat3 alle daten aus Jahr" Hben, die im Zeitraum 21.1.10-31.1.10 liegen und ein E in Spalte I
Blatt MonatOut_10 alle daten aus Jahr" Hben, die im Zeitraum 1.1.10-10.1.10 liegen und ein A in Spalte I
Blatt MonatOut_20 alle daten aus Jahr" Hben, die im Zeitraum 11.1.10-20.1.10 liegen und ein A in Spalte I
Blatt MonatOut_30 alle daten aus Jahr" Hben, die im Zeitraum 21.1.10-31.1.10 liegen und ein A in Spalte I
Das macht doch mein Makro Einfügen_2003 bzw. Einfügen_2003a
Dazu ist das Hilfsblatt "hilfe" nötig.
Mit Loesch kannste beim Testen immer alle Blätter mit "Monat" im Namen leeren
Alle Prozeduren im Modul "Modul1"
Hier die funktionierende Mappe:
http://www.file-upload.net/download-3084410/kwdatumfilternForum_Statistik.25.12.2010-.xls.html
Gruß
Reinhard
Anzeige
AW: Datumszeitraum filtern
28.12.2010 17:55:51
Oliver
Hallo Reinhard: Genau so, einfach super.
MonatOut_30 wird zwar nicht ausgefüllt, aber das wird ja noch zu regeln sein.
Ich nehme an, Dir ist klar, dass ich überhaupt nichts kapiere. Hast Du für mich einen Tipp, wie ich so etwas, erlernen kann. Oder hast Du auch noch Lust mir das zu erklären.
Was mache ich denn, wenn ich einen anderen Monat filtern möchte ?
Ich nehme an man müsste 12 verschiedene Hilfeblätter machen.
Wie kann ich mein Wort einhalten ? (zweiter Beitrag)
Gruß: O.Adler
AW: Datumszeitraum filtern
28.12.2010 19:18:45
Reinhard
Hallo Oliver,
::::Genau so, einfach super.
schön daß es klappt *Schweißabwisch* :-)
::::MonatOut_30 wird zwar nicht ausgefüllt, aber das wird ja noch zu regeln sein.
Da muß ich schauen warum.
::::Ich nehme an, Dir ist klar, dass ich überhaupt nichts kapiere. Hast Du für mich einen Tipp, wie ich so ::::etwas, erlernen kann. Oder hast Du auch noch Lust mir das zu erklären.
Da ist an sich nix aufwendiges im Code.
Zunächst mal, kennst du "Spezialfilter" in Excel gut? Wenn nicht übe das.
Wichtiger Tipp, wenn du "Jahr" mit Spezialfilertn nach "Monat" filtern willst, mußt du den Spezialfilter in "Monat" aufrufen. Dort wählst du aus an anderer Stelle filtern o.ä.
Dann siehst du drei Eingabefelder.
Im obersten muß der Bereich in "Jahr" rein, den du filtern willsst, im anderen Feld der Kriterienberich, im dritten langt die Angabe einer einzelnen Zelle in "Monat" damit Excel weiß wohin sie das ERgebnis schreiben soll.
In meinem Code ist der Kriterienbereih im Blatt Hilfe.
Der Kriterienbereich muß die gleiche Überschriftszeile wie in "Jahr" haben.
Um jetzt alles aus "Jahr" zu filtern was in I ein "E" hat, brauchst du nur im Kriterienbereich in der zweiten Zeile bei I ein E zu schreiben.
Nun willst du auch nach Datum filtern, genau gesehen nach zwei datümern, größer als x, kleiner als y.
Schau genau in die Hilfetabelle, da erkennst du warum da die Datumsspalte doppelt ist.
Nun hast du aber verschiedene Blätter, die alle einen verschiedenen Kriterienbereich brauchen.
"Zeih" ermittelt wo der Blattname in "Hilfe" steht, bestimmt daraufhin den gültigen Kriterienbereich.
Übe halt mal Spezialfilter, zeichne dir dabei Makros auf.
Diese Codes wirste in meinem Code wiedererkennen, wenn auch durch die For-Schleife dynamisch gehalten.
::::Was mache ich denn, wenn ich einen anderen Monat filtern möchte ?
::::Ich nehme an man müsste 12 verschiedene Hilfeblätter machen.
Jain. Grundsätzlich, wenn man "Monat" mit "Januar" ersetzt bräuchtest du 8*12 Blaätter.
D.h. in "jahr" stehen alle Daten.
In "Januar" dann alle Daten aus "Jahr" die "E" in I haben und im Janauar liegen.
Usw. für alle Bretter.
Da kommt man schon mit einer Hilfetabelle aus oder sogar gar keiner.
::::Wie kann ich mein Wort einhalten ? (zweiter Beitrag)
Wenn ich dir helfen soll, deine Codes, Mappe zu verbessern, gerne:
Userbild
Gruß
Reinhard
Anzeige
AW: Datumszeitraum filtern
01.01.2011 13:47:37
Oliver
Hallo: Reinhard !
Frohes, neues Jahr zusammen !
Ich habe mich noch einmal mit dem Autofilter beschäftigt.
Zu meinem Code vom 25.12.2010, habe ich folgende Lösung herausgefunden.
Der Code funktionierte aus folgendem Grunde nicht.
VBA will das Datum nicht so eingetragen haben, wie es dies selbst aufzeichnet.
Hier der aufgezeichnete Code.
Selection.AutoFilter Field:=4, Criteria1:=">=01.11.2010", Operator:=xlAnd _
, Criteria2:=" Hier der funktionierende Code.
Selection.AutoFilter Field:=4, Criteria1:=">=11/01/2010", Operator:=xlAnd _
, Criteria2:=" Die Datumsfolge ist Monat/Tag/Jahr
Dies gilt für Office 2003.
Gruß: O. Adler
PS :" sollte ich etwas falsches geschrieben haben, so löschen Sie bitte diesen Beitrag."

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige