Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeile übernehmen wenn Datum zwischen zwei Werten

Zeile übernehmen wenn Datum zwischen zwei Werten
02.08.2016 13:01:38
onkelbobby
Hallo zusammen,
ich habe ein Datei mit zwei Tabellen.
In Tabelle 2 gibt es mehrere Spalten in Spalte A Anfangsdatum, in Spalte B, Enddatum (kann leer sein) in den Spalten F - L zunächst "Alle Tage" und dann jeden Wochentag (z. B. "Montag", "Dienstag", ... "Sonntag"
In Tabelle 1 möchte ich die Daten der Tabelle 2 auswerten.
In A1 kann ich ein beliebiges Datum eintragen.
Ab Zeile 3 sollen dann Daten aus Tabelle 2 in Abhängigkeit zum eingetragenen Datum eingefügt werden. In Spalte A kommt immer das Datum aus A1, in den folgenden Spalten sollen die Einträge aus Tabelle 2 ab Spalte C nach folgender Regel eingetragen werden:
1. Alle Zeilen aus Tabelle 2 prüfen ob das Datum aus Tabelle 1, A1 zwischen dem Datum aus Tabelle 2 Spalte A und B liegt.
2. Wenn ja, zweite Prüfung ob in "alle Tage" ein "x" vermerkt ist, dann die Zeile eintragen.
3. Wenn Bedingung 1 erfüllt ist und Bedingung 2 nicht erfüllt ist, dann prüfen ob bei den Wocheneinträgen ("Montag", "Dienstag", ...) ein "x" zu finden ist und der entsprechende Eintrag (z. B. Mittwoch) mit dem hinterlegten Datum aus A1 übereinstimmt. Wenn ja: Zeile eintragen
Es geht also darum, dass die Möglichkeit besteht Zeiträume und entweder alle Tage oder einen oder mehrere Wochentage hinterlegen zu können, die mit dem eingetragenen Datum abgeglichen werden müssen. Das Datum müsste also auch immer mit dem Wochentag verglichen werden.
Gibt es hier irgendwelche Ansätze Eurerseits?
Hier eine Beispieldatei.
https://www.herber.de/bbs/user/107368.xlsx

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile übernehmen wenn Datum zwischen zwei Werten
02.08.2016 13:34:43
ChrisL
Hi Robert
https://www.herber.de/bbs/user/107369.xlsm
Private Sub Worksheet_Activate()
Call AuswertungErstellen
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then Call AuswertungErstellen
End Sub

Sub AuswertungErstellen()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim iZeile As Long, letzteZeile As Long
Dim bWTag As Byte
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Tabelle2")
Application.ScreenUpdating = False
WS1.Rows("3:65536").EntireRow.Delete
If WS1.Range("A1") = "" Or IsDate(WS1.Range("A1")) = False Then
MsgBox "Kein gültiges Datum in A1"
Exit Sub
End If
bWTag = WorksheetFunction.Weekday(WS1.Range("A1"))
If bWTag = 1 Then
MsgBox "Datum ist ein Sonntag"
Exit Sub
End If
For iZeile = 2 To WS2.Cells(WS2.Rows.Count, 1).End(xlUp).Row
If WS1.Range("A1") >= WS2.Cells(iZeile, 1) Then
If WS1.Range("A1") 
cu
Chris
Anzeige
AW: Zeile übernehmen wenn Datum zwischen zwei Werten
03.08.2016 11:22:29
onkelbobby
Hi Chris.
Sorry für die späte Rückmeldung!
Auf Anhieb genauso wie ich das wollte.
Super, Danke!

90 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige