Die Rückwärtigen gearbeiteten Sa zählen

Bild

Betrifft: Die Rückwärtigen gearbeiteten Sa zählen von: Isabell
Geschrieben am: 07.03.2005 11:06:59

Hallo Leute,

ich suche eine Möglichkeit anhand einer Liste (Tabelle "Samstage"), Samstage
die Rückwärtig vom aktuellen Datum liegen, und hintereinander gearbeitet
wurden, zu zählen.

Hier nun meine Mappe:

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

In Tabelle "Samstage" stehen in Spalte B alle Samstage eines Jahres in Datum-Format. In den Spalten C:P die Namen der Kollegen.
Darunter sind alle Samstage die nicht gearbeitet wurden mit einen "x"
gekennzeichnet.

Nun sollen alle Samstage der Kollegen gezählt werden, die Rückwärtig vom
aktuellen Datum (Tabelle "Ergebnis" Zelle A3), die hintereinander gearbeitet
wurden.
Das ganze soll dann in der Tabelle "Ergebnis" in der Spalte C erscheinen.

Würde mich über eine Lösung sehr freuen.

Gruß
Isabell

Bild


Betrifft: AW: Die Rückwärtigen gearbeiteten Sa zählen von: Alexander Weinhard
Geschrieben am: 07.03.2005 11:13:26

Hi!

Ich würde das Problem mit einem VBA-Makro lösen. Ginge das. oder muss es zwangsweise mit Zellenformeln gemacht sein?


Bild


Betrifft: AW: Die Rückwärtigen gearbeiteten Sa zählen von: Isabell
Geschrieben am: 07.03.2005 11:27:56

Hallo Alexander,

danke für Deine Antwort.

Ich würde das gerne mit einer Formel belegen.
Wenn du das hinbekommst wäre toll.

Aber wenn es nur mit einem Makro geht, ist auch in Ordnung.

Nur kann ich die Programmierung nicht immer so nachvollziehen.
Aber wenn du dann kleine Erläuterungen dazu schreibst, verstehe ich das
vieleicht.

Gruß
Isabell


Bild


Betrifft: AW: Die Rückwärtigen gearbeiteten Sa zählen von: Alexander Weinhard
Geschrieben am: 07.03.2005 11:40:41

Ich tu mein möglichstes. Kann aber ein bisschen dauern.


Bild


Betrifft: AW: Die Rückwärtigen gearbeiteten Sa zählen von: Alexander Weinhard
Geschrieben am: 07.03.2005 12:20:29

Dieser Code macht alles für dich, ohne dass du die Formatierung deiner tabelle ändern musst. Ist halt VBA.


Sub Samstage_zaehlen()
Dim Samstage As Worksheet
Dim Ergebnis As Worksheet
Dim Name As String
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim Anzahl As Integer
Dim Heute As Date
'Damit kann ich einfacher auf die Arbeitsblätter zugreifen
Set Samstage = ThisWorkbook.Worksheets("Samstage")
Set Ergebnis = ThisWorkbook.Worksheets("Ergebnis")
'Das Arbeitsblatt "Ergebnis" wird angezeigt
Ergebnis.Select
'Zelle B3 wird markiert
Range("B3").Select
'i, j und k sind Zählvariablen und werden zu Anfang mit 0 initialisiert
i = 0
j = 0
k = 0
'Anzahl ist die Zahl die ermittelt werden soll. Sie ist zu Anfang auch 0
Anzahl = 0
'Das heutige Datum wir ermittelt
Heute = Range("A3").Value
'Der erste Name der Ergebnisliste wird ermittelt
Name = Range("B3").Cells.Offset(i, 0).Value
'Die Namensliste wird durchgegangen, bis kein Name mehr dasteht
While Name <> "" And Name <> "usw."
    
    'Jetzt wird in der Namensliste bei den Samstagen gesucht
    Samstage.Select
    Name2 = Range("C3").Cells.Offset(0, j).Value
    While Name2 <> ""
    
        'Wenn der gleiche Name gefunden wird
        If Name2 = Name Then
            
            'Jetzt wird die Spalte nach unten durchgegangen bis zum Datum, das Heute am nächsten ist
            While Range("B4").Cells.Offset(k, 0) < Heute
                
                'Wenn in der Spalte ein x gefunden wird, wird die Anzahl auf 0 zurückgesetzt
                'ansonsten wird die Anzahl um 1 erhöht.
                If Range("C4").Cells.Offset(k, j) = "x" Then
                    Anzahl = 0
                Else
                    Anzahl = Anzahl + 1
                End If
                
                'Der Zähler wird um 1 erhöht, damit die nächste Zelle in der Spalte gelesen werden kann
                k = k + 1
                
            Wend
            
            'k muss neu initialisiert werden
            k = 0
            
        End If
        
        'Der Zähler wird um 1 erhöht, damit der nächste Name bei den Samstagen ermittelt werden kann
        j = j + 1
        
        'Der nächste Name bei den Samstagen wird ermittelt
        Name2 = Range("C3").Cells.Offset(0, j).Value
    Wend
    
    'Die Anzahl wurde ermittelt und wird jetzt eingetragen
    Ergebnis.Select
    Range("B3").Cells.Offset(i, 1).Value = Anzahl
    
    'Der Zähler wird um 1 erhöht, damit der nächste Name in der Ergbniliste ermittelt werden kann
    i = i + 1
    
     'j muss neu initialisiert werden
    j = 0
    
    'Anzahl muss auch zurückgesetzt werden
    Anzahl = 0
    
    'Der nächste Name in der Ergebnisliste wird ermittelt
    Name = Range("B3").Cells.Offset(i, 0).Value
    
Wend
End Sub



Bild


Betrifft: AW: Die Rückwärtigen gearbeiteten Sa zählen von: Isabell
Geschrieben am: 07.03.2005 12:39:33

Danke Alexander,

das ist doch endlich mal idiotensicher erklärt.
Damit kann ich auch ohne viel VBA Kenntnisse etwas anfangen.

Nun kann ich mal ne Menge ausprobieren.

Vielen Dank für deine Mühe.

Gruß
Isabell


Bild


Betrifft: AW: Die Rückwärtigen gearbeiteten Sa zählen von: Gert Seler
Geschrieben am: 07.03.2005 11:49:45

Hallo Isabell,
2 Vorschläge von mir.
1.) Versehe alle Arbeits-Samstage mit X und lass die freien Samstage leer.
--- Das ist Übersichtlicher.
2.) Auf dem ersten Blatt links neben das Datum, Spalte einfügen und "KalenderWochen
--- Nummer" zum "Samstag" einfügen. DIN-Kalenderwoche siehe "Services" --->"Excel
--- Recherche" ---> "Kalenderwoche" eingeben. Dann ist der Arbeits-Rythmus leichter
--- ersichtlich.
Die erste Tabelle läßt keinen bestimmten Rythmus bei der Samstags-Arbeit erkennen,
da einige scheinbar überhaupt nicht oder sehr wenige Samstage arbeiten.
Deshalb sollte die KW eingefügt werden,das aller 2, 3,4 oder 5 Wochen Samstagsdienst
eingeteilt wird.
Die Vorschläge sollen nur die Arbeit und Übersicht der Tabellen optimieren.

mfg
Gert


Bild


Betrifft: AW: Die Rückwärtigen gearbeiteten Sa zählen von: Isabell
Geschrieben am: 07.03.2005 12:16:36

Hallo Gert,

danke für deine Anregung, ich werde alles mal ausprobieren.

Gruß
Isabell


Bild


Betrifft: AW: Die Rückwärtigen gearbeiteten Sa zählen von: HermannZ
Geschrieben am: 07.03.2005 11:58:48

Hallo Isabell,

wäre das eine Lösung für dich ???

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

Gruß Hermann


Bild


Betrifft: AW: Die Rückwärtigen gearbeiteten Sa zählen von: Isabell
Geschrieben am: 07.03.2005 12:14:49

Hallo Hermann,

das sieht gut aus.
Ich werde die Formel in meiner Original-Mappe ausprobieren.

Vielen Dank


Bild


Betrifft: Da taucht noch ein Problem auf ! von: Isabell
Geschrieben am: 07.03.2005 13:37:38

Hallo Hermann,

wenn ich schon vorausschauend freie Sa in die Liste eintrage, also bei Sa die in der
Zukunft liegen, rechnet die Formel falsch !
Es kommt dann ein Minuswert heraus.

Kannst du da noch was machen ?

Gruß
Isabell


Bild


Betrifft: AW: @Isabell.....Frage!! von: HermannZ
Geschrieben am: 07.03.2005 13:49:59

Hallo Isabell,

das ist vollkommen richtig, da ja die Formel vom Datum kleiner Heute aus geht, und somoit nicht gleichzeitig das Datum grösser heute berücksichtigt.Davon hattest du aber auch nichts geschrieben.
wenn ich das jetzt richtig verstanden habe möchtest du in die Liste alle samstage eintagen aber nur bis zum datum Heute die rückwärtigen Samstage addieren nach altem Muster oder?? dann müsste die Formel allerdings geändert werden.

Gruß hermann


Bild


Betrifft: Genau ! von: Isabell
Geschrieben am: 07.03.2005 13:57:06

Danke das du dich noch gemeldet hast.

Ja genau so ist das gemeint !

Hast du da noch eine Lösung für mich ?

Gruß
Isabell


Bild


Betrifft: AW: Genau ! von: HermannZ
Geschrieben am: 07.03.2005 14:18:08

Hallo Isabell,

kann etwas dauern Chef steht auf der Matte.

Gruß Hermann


Bild


Betrifft: AW: Genau ! von: HermannZ
Geschrieben am: 07.03.2005 17:10:42

Hallo Isabell,

sorry hat was länger gedauert als gedacht,

hier neues Beispiel;
https://www.herber.de/bbs/user/19323.xls

Gruß hermann


Bild


Betrifft: AW: Genau ! von: Isabell
Geschrieben am: 07.03.2005 17:23:41

Vielen Dank, so wollte ich es haben.

Gruß
Isabell


Bild


Betrifft: AW: Danke für die Rückantwort. oT. von: HermannZ
Geschrieben am: 07.03.2005 17:31:21

.


 Bild

Beiträge aus den Excel-Beispielen zum Thema "kommentare vba"