Microsoft Excel

Herbers Excel/VBA-Archiv

Zeitraum filtern und getrennt speichern

Betrifft: Zeitraum filtern und getrennt speichern von: Diana
Geschrieben am: 24.06.2008 16:13:50

Hallo zusammen!

Ich habe noch ein paar Fragen zu dem unten angefügten Makro (in der Excel-Datei).
https://www.herber.de/bbs/user/53323.xls

  • Kann ich statt eines festen Tages auch einen Zeitraum abfragen. Also entweder nur das Jahr und den Monat definieren und alle verfügbaren Tage auslesen, dann aber wieder jeden Tag in eine separate Datei abspeichern?

  • In den Ausgabedateien sind die Werte mit Anführungszeichen getrennt und die Nachkommastelle ist mit Komma getrennt. Wie kann man die Anführungszeichen wegnehmen und das Dezimalkomma durch einen Punkt ersetzen (in VBA)?

    Herzlichen Dank schon einmal an alle, die sich hiermit beschäftigen.

    Gruß Diana

      

    Betrifft: AW: Zeitraum filtern und getrennt speichern von: Luschi
    Geschrieben am: 24.06.2008 23:33:36

    Hallo Diana,

    habe Dir dazu mal Dein Beispiel ergänzt. Beim Tag kan man jetzt einen einzelnen Tag (z.B: 15), eine Zeitspanne (15-21) oder alle (für alle Tage des Monats) eingeben.

    https://www.herber.de/bbs/user/53332.xls

    Habe im Vba-Code ein paar Kommentare dazugesetzt. Viel Spaß beim Ausprobieren wünscht

    Luschi
    aus klein-Paris




      

    Betrifft: AW: Zeitraum filtern und getrennt speichern von: Diana
    Geschrieben am: 27.06.2008 09:32:13

    Hallo Luschi!
    Herzlichen Dank für deine Arbeit und dass du dir soviel Zeit genommen hast. Ich kann noch nicht genau sagen, ob es läuft, da das Makro beim ersten Datenauslesen abbricht ... (P21z02V01). Kann das an der Bezeichnung für "Tag" hängen?
    Ich habe fast ein schlechtes Gewissen, aber kannst du dir das mit dem Export auch noch einmal anschauen? Grundsätzlich werden Messwerte ausgegeben. In der ersten Zeile ist die Kopfzeile, die ich lösche. Die Messwerte sind sowohl dezimal, als auch Ganzzahlig. In der Ausgabedatei hätte ich gern als Trenner ein ";", das Dezimalzeichen ist mir egal ("." oder ","). Alle Versuche sind bisher gescheitert ... und ich weiß nicht mehr woran es noch liegt.
    Vielen Dank schon einmal im voraus
    Gruß Diana


      

    Betrifft: AW: Zeitraum filtern und getrennt speichern von: Luschi
    Geschrieben am: 27.06.2008 10:21:00

    Hallo Diana,

    habe einen kleinen Fehler gefunden. Im Code steht:
    Case 45, 48 To 54
    es muß aber dastehen
    Case 45, 48 To 57
    Das bedeutet, das nur das Minuszeichen (45) und die Zahlen 0 bis 9 (48 bis 57) zur Eingabe zugelassen sind.

    Ansonsten gibt es bei der Eingabe von Tag ja 3 Varianten. Wenn der User nur die Zahl 8 eingibt, dann läuft die For-Scheife von 8 bis 8 (also nur einmal). Die Bedingung für diesen Durchlauf lautet dann:
    ... WHERE (k055z02_0.Zeit Between {ts '2008-06-08 00:00:00'} And {ts '2008-06-08 23:59:59'})

    Lautet die Tageseingabe: 8-10, dann läuft die Schleife 3-mal und die Bedingung für jeden Durchlauf ist dann:
    ... WHERE (k055z02_0.Zeit Between {ts '2008-06-08 00:00:00'} And {ts '2008-06-08 23:59:59'})
    ... WHERE (k055z02_0.Zeit Between {ts '2008-06-09 00:00:00'} And {ts '2008-06-09 23:59:59'})
    ... WHERE (k055z02_0.Zeit Between {ts '2008-06-10 00:00:00'} And {ts '2008-06-10 23:59:59'})

    Bei der Eingabe alle wird der letzte Tag des Monats berechnet und die Schleife läuft dann sovielmal, wie der Monat Tage hat.
    Allerdings verstehe ich nicht was die Bezeichnung 'ts' in der Datumsangabe bedeuten soll, oder ist das in diesem Datenbanksystem Vorschrift?

    Gruß von Luschi
    aus klein-Paris


     

    Beiträge aus den Excel-Beispielen zum Thema "Zeitraum filtern und getrennt speichern"