Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1256to1260
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 Zeitraumes auslesen

Daten in Abhängigkeit eines Zeitraumes auslesen
Robert
Hallo,
stehe momentan mal wieder voll auf dem Schlauch und komm nicht weiter.
Könnt Ihr mir bitte helfen?
Ähnliches Problem hatte ich schon im Jahre 2008 und da konnte mir Franz (fcs) super genial helfen!
Zur besseren Veranschaulichung gleich Beispielmappe:
https://www.herber.de/bbs/user/79778.xlsm
In Tabelle2 soll, ausgehend vom eingegebenen Zeitraum eine Auflistung der Mitarbeiter erfolgen, die in diesem Zeitraum Urlaub haben (Tabelle1). Zusätzlich zum Namen sollte auch der Urlaubszeitraum mitgegeben werden.
Vielen Dank schon mal im Voraus.
Viele Grüße Robert
AW: Daten in Abhängigkeit eines Zeitraumes auslesen
12.04.2012 16:04:42
ChrisL
Hi Robert
Alt + F11, links Doppelklick auf Tabelle 2, Code einfügen
Private Sub Worksheet_Activate()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim iZeile As Long, iSpalte As Integer, LetzteZeile As Long
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Tabelle2")
WS2.Rows("8:65536").EntireRow.Delete
For iZeile = 4 To WS1.Range("C65536").End(xlUp).Row
For iSpalte = 4 To WS1.Range("IV3").End(xlToLeft).Column
If WS1.Cells(iZeile, iSpalte) = "U" And WS1.Cells(iZeile, iSpalte - 1)  "U" Then
LetzteZeile = WS2.Range("A65536").End(xlUp).Row + 1
If LetzteZeile  "U" Then
WS2.Cells(LetzteZeile, 3) = WS1.Cells(3, iSpalte)
End If
Next iSpalte
Next iZeile
WS2.Range("B8:C" & LetzteZeile).NumberFormat = "m/d/yyyy"
End Sub

Bitte beachte, dass die Urlaubstage in weisser Schrift ebenfalls mitgezählt werden.
cu
Chris
Anzeige
AW: Daten in Abhängigkeit eines Zeitraumes auslesen
12.04.2012 16:11:54
Robert
Hi Chris,
ist ja fast genial!
Leider greift die Zeitraumvorgabe in Tabelle2 in C3 und E3 nicht oder?
Gruß Robert
AW: Daten in Abhängigkeit eines Zeitraumes auslesen
12.04.2012 16:30:38
ChrisL
Hi Robert
Ja das habe ich übersehen...
Private Sub Worksheet_Activate()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim iZeile As Long, iSpalte As Integer, LetzteZeile As Long
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Tabelle2")
WS2.Rows("8:65536").EntireRow.Delete
For iZeile = 4 To WS1.Range("C65536").End(xlUp).Row
For iSpalte = 4 To WS1.Range("IV3").End(xlToLeft).Column
If WS1.Cells(iZeile, iSpalte) = "U" And WS1.Cells(iZeile, iSpalte - 1)  "U" Then
LetzteZeile = WS2.Range("A65536").End(xlUp).Row + 1
If LetzteZeile  "U" Then
WS2.Cells(LetzteZeile, 3) = WS1.Cells(3, iSpalte)
End If
Next iSpalte
Next iZeile
WS2.Range("B8:C" & LetzteZeile).NumberFormat = "m/d/yyyy"
Dim datVon As Date, datBis As Date
datVon = WS2.Range("C3")
datBis = WS2.Range("E3")
For iZeile = WS2.Range("A65536").End(xlUp).Row To 8 Step -1
If (WS2.Cells(iZeile, 2)  datBis And WS2.Cells(iZeile, 3) > datBis) Then
WS2.Rows(iZeile).EntireRow.Delete
Else
If WS2.Cells(iZeile, 2)  datBis Then WS2.Cells(iZeile, 3) = datBis
End If
Next iZeile
End Sub
cu
Chris
Anzeige
AW: Daten in Abhängigkeit eines Zeitraumes auslesen
13.04.2012 06:26:22
Robert
Hi Chris,
mich hauts von den Socken.... :-)
Funktioniert absolut genial! Hast mich gerettet.
Vielen vielen Dank
Gruß Robert
AW: Daten in Abhängigkeit eines Zeitraumes auslesen
13.04.2012 10:33:47
Robert
Hi Chris,
tut mir leid, dass ich nochmal nachhaken müsste...
Wäre es möglich, dass die Zeiträume in Tabelle2 nicht durch Wochenenden unterbrochen werden?
Sieht schlecht aus oder?
Gruß Robert
AW: Daten in Abhängigkeit eines Zeitraumes auslesen
13.04.2012 11:57:24
ChrisL
Hi Robert
So...
Private Sub Worksheet_Activate()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim iZeile As Long, iSpalte As Integer, LetzteZeile As Long
Dim datVon As Date, datBis As Date
Application.ScreenUpdating = False
Worksheets("Tabelle1").Copy after:=Sheets(1)
Set WS1 = ActiveSheet
Set WS2 = Worksheets("Tabelle2")
WS2.Rows("8:65536").EntireRow.Delete
datVon = WS2.Range("C3")
datBis = WS2.Range("E3")
For iSpalte = WS1.Range("IV3").End(xlToLeft).Column To 4 Step -1
If IsDate(WS1.Cells(3, iSpalte)) Then
If Weekday(WS1.Cells(3, iSpalte)) = 7 Or Weekday(WS1.Cells(3, iSpalte)) = 1 Or _
WS1.Cells(3, iSpalte)  datBis Then _
WS1.Columns(iSpalte).EntireColumn.Delete
End If
Next iSpalte
For iZeile = 4 To WS1.Range("C65536").End(xlUp).Row
For iSpalte = 4 To WS1.Range("IV3").End(xlToLeft).Column
If WS1.Cells(iZeile, iSpalte) = "U" And WS1.Cells(iZeile, iSpalte - 1)  "U" Then
LetzteZeile = WS2.Range("A65536").End(xlUp).Row + 1
If LetzteZeile  "U" Then
WS2.Cells(LetzteZeile, 3) = WS1.Cells(3, iSpalte)
End If
Next iSpalte
Next iZeile
WS2.Range("B8:C" & LetzteZeile).NumberFormat = "m/d/yyyy"
On Error Resume Next
Application.EnableEvents = False
Application.DisplayAlerts = False
WS1.Delete
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

cu
Chris
Anzeige
AW: Daten in Abhängigkeit eines Zeitraumes auslesen
13.04.2012 12:04:22
Robert
Hi Chris,
du bist genial!
Danke vielmals!
Gruß Robert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige