Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1028to1032
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

Daten in Abhängigkeit eines Datums auslesen

Daten in Abhängigkeit eines Datums auslesen
26.11.2008 13:15:11
Robert
Hallo,
ich hab ein Problem - bin mit meinem Latain am Ende und hoffe ihr könnt mir helfen...
In Tabelle2 soll, basierend auf der Datumseingabe einer Auflistung der Mitarbeiter erfolgen, die an diesem Tag abwesend sind (Tabelle1). Zusätzlich zu jedem abwesenden Mitarbeiter soll ausgegeben werden, wann die Abwesenheit endet oder wann der erste Arbeitstag nach der Abwesenheit ist.
Zur besseren Veranschaulichung gleich Beispielmappe:
https://www.herber.de/bbs/user/57146.xls
Ich danke euch schon mal im Voraus.
Viele Grüße Robert

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten in Abhängigkeit eines Datums auslesen
26.11.2008 15:50:00
fcs
Hallo Robert,
das lässt sich per Formel meines Wissens nicht mehr so ohne weiteres lösen.
Deshalb mein Vorschlag die Liste per Makro zu erstellen.
Denke daran, dass Excel 2003 "nur" 255 Spalten zur Verfügung hat.
Du kannst allso nicht alle Tage eines Jahres in einer Tabelle unterbringen.
Wenn du weniger als 255 Mitarbeiter verwalten willst, dann ist es ggf. besser, die Mitarbeiternamen in den Spalten und die Kalendertage in den Zeilen einzugeben.
Das Makro muss man dann auch entsprechend komplett umstellen.
Gruß
Franz

Sub Fehlt()
Dim wksDaten As Worksheet
Dim wksFehlt As Worksheet
Dim datDatum As Date
Dim lngFehlt As Long 'Zeilenzähler im Blatt wksFehlt
Dim lngData As Long 'Zeilenzähler im Blatt wksDaten
Dim SpalteTag As Long 'Spalte des gsuchten Datums
Dim lngSpalte As Long 'Spaltenzähler
'Konstanten für Zeilen und Spalten im Fehlt-Blatt
Const TitelFehlt As Long = 7 'Zeile mit Titeln
Const SpNameFehlt As Long = 2 'Spalte mit Namen
'Konstanten für Zeilen und Spalten im Daten-Kalender Blatt
Const ZeileDatum As Long = 3 'Zeile mit Datum
Const SpalteJan1 As Long = 7 'Spalte mit 1. Januar
Const SpalteName As Long = 4 'Spalte mit Namen
Const ZeileName1 As Long = 5 '1. Zeile mit Namen
Set wksDaten = Worksheets("Tabelle1")
Set wksFehlt = Worksheets("Tabelle2")
With wksFehlt
'Altdaten unterhalb Titelzeile löschen
.Range(.Rows(TitelFehlt + 1), _
.Rows(.Cells(TitelFehlt + 1, 2).End(xlDown).Row)).ClearContents
datDatum = .Range("F1") 'Stichtag
lngFehlt = TitelFehlt 'Zeile mit Spaltentiteln
End With
With wksDaten
'Spalte mit gewünschtem Datum in Zeile 3 ermitteln
For lngSpalte = SpalteJan1 To .Cells(ZeileDatum, .Columns.Count).End(xlToLeft).Column
If .Cells(ZeileDatum, lngSpalte).Value = datDatum Then
SpalteTag = lngSpalte
Exit For
End If
Next
If SpalteTag = 0 Then
MsgBox "Datum " & datDatum & " nicht gefunden im Blatt " & .Name
GoTo Beenden
End If
'Spalte mit Mitarbeiternamen abarbeiten
For lngData = ZeileName1 To .Cells(.Rows.Count, SpalteName).End(xlUp).Row
'Eintrag des Mitarbeiters für den Tag prüfen
Select Case .Cells(lngData, SpalteTag).Value
Case "K", "F", "U" 'Einträge die als Fehlt gelten
lngFehlt = lngFehlt + 1
'Namen ins Fehlt-Blatt eintragen
wksFehlt.Cells(lngFehlt, SpNameFehlt).Value = .Cells(lngData, SpalteName).Value
'1. Arbeitstag nach Fehlt-Tag ermitteln
For lngSpalte = SpalteTag To .Cells(ZeileDatum, .Columns.Count).End(xlToLeft).Column
Select Case .Cells(lngData, lngSpalte).Value
Case "K", "F", "U" 'Einträge die als Fehlt gelten
'do nothing, fehlt weiterhin
Case ""
'Prüfen auf Sa oder So
If Weekday(.Cells(ZeileDatum, lngSpalte)) = vbSaturday Or _
Weekday(.Cells(ZeileDatum, lngSpalte)) = vbSunday Then
'do nothing
'Prüfen auf Feiertag an Hand er Zellfarbe
ElseIf .Cells(lngData, lngSpalte).Interior.ColorIndex = 45 Then
'Feiertag
'do nothing
Else
'Datum in Fehlt-Blatt eintragen
wksFehlt.Cells(lngFehlt, SpNameFehlt + 1).Value = _
.Cells(ZeileDatum, lngSpalte).Value
Exit For
End If
Case Else
'Arbeitet wieder, anderer Eintrag der nicht als fehlt gilt
'Datum in Fehlt-Blatt eintragen
wksFehlt.Cells(lngFehlt, SpNameFehlt + 1).Value = _
.Cells(ZeileDatum, lngSpalte).Value
End Select
Next
Case Else
'anderere Einträge der nicht als fehlt gilt
'do nothing
End Select
Next
End With
Beenden:
End Sub


Anzeige
AW: Daten in Abhängigkeit eines Datums auslesen
26.11.2008 18:07:00
Robert
Hallo Franz,
das Problem mit den 255 Spalten habe ich inzwischen gelöst, indem ich für je eine Jahreshälfte eine Tabelle angelegt habe. Ist zwar nicht das tollste...aber anders gehts nicht (für Mitarbeiter bräuchte ich noch mehr Spalte)
Dein Makro funktioniert soweit astrein und das Ergebnis ist genau das richtige :-)
Danke Dir vielmals.
Muss nur noch schauen, dass ich das mit den zwei Jahreshälften irgendwie in dein Makro bekomme...
Gruß Robert
AW: Daten in Abhängigkeit eines Datums auslesen
26.11.2008 18:25:00
Robert
Muss feststellen, dass meine VBA-Kenntnisse wirklich bescheiden sind ;-)
Schaffe es nicht...
Glaube ich muss eine Kalenderreform einführen - 182 Tage pro Jahr müssen reichen...
Anzeige
AW: Daten in Abhängigkeit eines Datums auslesen
27.11.2008 09:57:00
fcs
Hallo Robert,
ich hab mal in deiner Datei ensprechend 2 Halbjahre eingebaut. Etwas diffiziel war hierbei der Übergang von Juni auf Juli bei Fehltagen am 30.06.
https://www.herber.de/bbs/user/57172.xls
Um die Funktion des Makros etwas sicherer zu machen solltest du die Feiertage mit einem Zelleintrag kennzeichnen. Ich hab hierzu in Zeile 4 jeweils "FT" unterhalb des Datums eingetragen.
Insgesamt kann man beim Datum und Formatierungen noch ein paar Verbesserungen einbauen, die die Anpassung der Liste an ein neues Kalenderjahr vereinfachen.
Gruß
Franz
Anzeige
AW: Daten in Abhängigkeit eines Datums auslesen
28.11.2008 09:24:52
Robert
Hallo Franz,
sorry dass ich mich erst jetzt melde.
Hab inzwischen deine Datei bewundern dürfen. Ist ja genial!!
Vielen vielen Dank
Gruß Robert
AW: Daten in Abhängigkeit eines Datums auslesen
26.11.2008 20:06:00
rofu
hallo,
könntest du damit arbeiten?
müsste noch ausgebaut werden, aber zum probieren genügt es.
gruß
rofu
https://www.herber.de/bbs/user/57167.xls

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige