Microsoft Excel

Herbers Excel/VBA-Archiv

Auswertung über VBA Filter


Betrifft: Auswertung über VBA Filter von: Sarah
Geschrieben am: 16.01.2018 09:34:06

Hallo Zusammen,

ich habe eine Tabelle in der folgende Daten stehen:
Spalte C - Datum
Spalte X - Stundenaufwand

Ich möchte über ein Formular eingeben, aus welchem Monat und Jahr ich Stundenaufwände auswerten möchte. Sprich ich gebe z. B. Dezember 2017 an und dann sollen mir alle Stundenaufwände aus dem entsprechenden Monat und Jahr aus Zeile X addiert werden.
In die Zeile AD soll dann bei all diesen Daten wo die Auswertung gemacht wurde, das aktuelle Tagesdatum eingetragen werden.

Wie kann ich über VBA einen Filter setzen der aus den zwei Comboboxen die Filterkriterien (Monat und Jahr) bekommt. Ist dies überhaupt realisierbar?

  

Betrifft: AW: Auswertung über VBA Filter von: Sepp
Geschrieben am: 16.01.2018 09:47:21

Hallo Sarah,

ist sicher möglich, allerdings solltest du eine Beispieldatei hochladen. Diese sollte im Aufbau dem Original entsprechen!

Gruß Sepp



  

Betrifft: AW: Auswertung über VBA Filter von: Ralf Anton
Geschrieben am: 16.01.2018 09:51:07

Hi Sarah,

so ganz verstehe ich Dein Anliegen nicht. Was soll das hier:

"In die Zeile AD soll dann bei all diesen Daten wo die Auswertung gemacht wurde, das aktuelle Tagesdatum eingetragen werden."

denn heißen? Da kannst Du für jede Zeile das Datum aus C nehmen, da steht es ja schon drin...

Und.... wozu benötigst Du ein Formular? Formatiere den Datenbereich als Tabelle (Cursor in den Bereich setzen und Strg + T), dann kannst Du
1. Deine Daten ohne Formular und extra manueller Eingabe filtern und
2. über die Funktion Teilergebnis auch die Summe bilden lassen. Auch in Spalte AD....


  

Betrifft: AW: Auswertung über VBA Filter von: Sarah
Geschrieben am: 17.01.2018 12:51:59

Hallo Zusammen,

ich habe nun meine Filter gesetzt mit:

   Dim Month, Year As String
    Month = ComboBox1
    Year = ComboBox2

    'Filter für Monat und Jahr in Zeile 23 Datum erledigt setzen
    bereich.Range("$A$1:$AD$6000").AutoFilter Field:=23, Operator:= _
        xlFilterValues, Criteria2:=Array(0, Month & "/31/" & Year)
Jetzt möchte ich gerne in allen gefilterten Ergebnissen in der Spalte "AD" das aktuelle Tagesdatum eintragen.
Beispiel: Ich filtere in Zeile W nach allen Daten aus Dezember 2017 und abschließend soll bei allen Ergebnissen in der Zelle AD dann der 17.01.2018 stehen, da ich an diesem Tag die Auswertung der Daten gemacht.


  

Betrifft: AW: Auswertung über VBA Filter von: Sarah
Geschrieben am: 19.01.2018 10:49:15

Auch dieses Problem konnte ich dann lösen mit:

Dim Zelle As Range    
    
For Each Zelle In bereich.Range("AD2:AD" & letzteZeile).SpecialCells(xlCellTypeVisible)
Zelle = Date
Next Zelle



Beiträge aus dem Excel-Forum zum Thema "Auswertung über VBA Filter"