Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
580to584
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
580to584
580to584
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Die Rückwärtigen gearbeiteten Sa zählen

Die Rückwärtigen gearbeiteten Sa zählen
07.03.2005 11:06:59
Isabell
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

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Die Rückwärtigen gearbeiteten Sa zählen
07.03.2005 11:13:26
Alexander
Hi!
Ich würde das Problem mit einem VBA-Makro lösen. Ginge das. oder muss es zwangsweise mit Zellenformeln gemacht sein?
AW: Die Rückwärtigen gearbeiteten Sa zählen
07.03.2005 11:27:56
Isabell
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
AW: Die Rückwärtigen gearbeiteten Sa zählen
07.03.2005 11:40:41
Alexander
Ich tu mein möglichstes. Kann aber ein bisschen dauern.
AW: Die Rückwärtigen gearbeiteten Sa zählen
07.03.2005 12:20:29
Alexander
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

Anzeige
AW: Die Rückwärtigen gearbeiteten Sa zählen
07.03.2005 12:39:33
Isabell
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
AW: Die Rückwärtigen gearbeiteten Sa zählen
07.03.2005 11:49:45
Gert
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" ---&gt"Excel
--- Recherche" ---&gt "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
Anzeige
AW: Die Rückwärtigen gearbeiteten Sa zählen
07.03.2005 12:16:36
Isabell
Hallo Gert,
danke für deine Anregung, ich werde alles mal ausprobieren.
Gruß
Isabell
AW: Die Rückwärtigen gearbeiteten Sa zählen
07.03.2005 12:14:49
Isabell
Hallo Hermann,
das sieht gut aus.
Ich werde die Formel in meiner Original-Mappe ausprobieren.
Vielen Dank
Da taucht noch ein Problem auf !
07.03.2005 13:37:38
Isabell
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
Anzeige
AW: @Isabell.....Frage!!
07.03.2005 13:49:59
HermannZ
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
Genau !
07.03.2005 13:57:06
Isabell
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
Anzeige
AW: Genau !
07.03.2005 14:18:08
HermannZ
Hallo Isabell,
kann etwas dauern Chef steht auf der Matte.
Gruß Hermann
AW: Genau !
07.03.2005 17:23:41
Isabell
Vielen Dank, so wollte ich es haben.
Gruß
Isabell
AW: Danke für die Rückantwort. oT.
07.03.2005 17:31:21
HermannZ
.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige