Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1560to1564
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

Nächsten 20 Arbeitstage

Nächsten 20 Arbeitstage
31.05.2017 09:40:11
Christian
Moin alle zusammen,
ich habe eine Herausforderung für euch und weiß nicht ob das ganze ohne VBA möglich ist.
In der Tabelle Filter sollen die Datumswerte und Überschriften der jeweiligen Spalten in Abhängigkeit der nächsten 20 Arbeitstage vom heutigen Datum ermittelt werden.
Zur Veranschaulichung habe ich in der ersten Zeile der Beispieldatei, die Werte manuell eingesetzt.
Die Datumswerte und Überschriften liegen in der Tabelle Realdaten. Zu den Datumswerten Cn-BRT möchte ich dann noch die Flächen aus der Tabelle Fläche in die Tabelle Filter zu den dazugehörigen Daten.
Alle wichtigen Spalten habe ich farblich markiert um es euch zu einfach wie möglich zu machen :)
https://www.herber.de/bbs/user/113905.xlsx
Viele Grüße
Christian

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

Betreff
Datum
Anwender
Anzeige
AW: Nächsten 20 Arbeitstage
31.05.2017 14:19:03
ChrisL
Hi Christian
Erstmal nur Teil 1, die Flächen solltest du nach dem gleichen Muster ermitteln können.
https://www.herber.de/bbs/user/113919.xlsx
1. Tabelle neu strukturieren (siehe Blatt Termine)
=INDEX(Realdaten!A:A;AUFRUNDEN((ZEILE()-1)/5;0)+1;1)
=INDEX(Realdaten!$1:$1;1;(REST(ZEILE()-2;5)*3)+3)
=INDEX(Realdaten!A:Q;AUFRUNDEN((ZEILE()-1)/5;0)+1;(REST(ZEILE()-2;5)*3)+3)
2. Filterkriterium definieren
=UND(C30>=HEUTE();C30 3. Optional Formelfilter (man könnte ja auch einfach den Autofilter benutzen)
{=INDEX(Termine!A$1:A$99;KKLEINSTE(WENN(Termine!D$1:D$99=WAHR;ZEILE($1:$94));ZEILE(A1)))}
http://excelformeln.de/formeln.html?welcher=89
cu
Chris
------------
Array-Formeln {Matrixformeln}; - zu erkennen an den geschweiften Klammern vor dem Gleichheitszeichen und am Ende {=FORMEL}. Diese {Klammern} werden nicht eingegeben sondern zum Abschluß der Formel durch gleichzeitig Strg Shift Enter erzeugt (statt Enter allein). Wenn Du hier einen Array kopierst, diese Klammern also löschen, und die Formel wie beschrieben abschließen.
Anzeige
AW: Nächsten 20 Arbeitstage
31.05.2017 14:39:58
Piet
Hallo
ich sehe es gibt bereits eine Formel Lösung, hier noch eine Makro Lösung.
Sie war bereits fertig, deshalb stelle ich sie mit ins Forum. Unklar ist mir nur eine Spalte, wo der Wert herkommt?
Das habe ich im Makro mit "**" markiert. Ich lade dort die Version Nummer.
https://www.herber.de/bbs/user/113920.xlsm
mfg Piet
AW: Nächsten 20 Arbeitstage
31.05.2017 16:06:56
Christian
Hallo Piet,
erst mal vielen Dank für deine Makro Lösung, sie entspricht nicht ganz meinen Vorstellungen aber ich habe mich da auch bestimmt ungenau ausgedrückt :) Welche Spalte ist dir den unklar? Ab der Zelle B4 möchte ich die Überschriften der Spalten aus der Tabelle Realdaten. Also am 02.06.2017 TA4. Das ist soweit perfekt gelöst. Das gleiche aber auch beim Marktplatz. Also ab der Zelle G4 kommen die Überschriften C1-BRT, C2-BRT etc. rein. Ich schaue mir den COde gleich mal genauer an, vielleicht bekomme ich das auch alleine hin :) Aber vielen lieben Dank für die Krasse Umsetzung :)
Viele Grüße
Chris
Anzeige
AW: Nächsten 20 Arbeitstage
31.05.2017 19:12:27
Christian
Moin Piet,
sorry wenn ich dich nochmal anhauen muss aber ich steige leider nicht durch deinen Code durch. Könntest du mir statt Version die Spalten mit C1-BRT, C2-BRT mit den dazugehörigen Datum rein hauen? :) Das wäre richtig cool :)
Viele Grüße
Christian
AW: Nächsten 20 Arbeitstage
31.05.2017 22:26:00
Piet
Hallo Christian
freut mich das dir mein Code gefaellt, Kleinigkeiten lassen sich immer aendern. Code einfach austauschen.
mfg Piet
Option Explicit   '31.5.2017   Piet   Herber Forum
'überarbeitet:     C1-BRT wird aufgelistet
Const Tage = 20   'Anzahl Arbeitstage
Const lila = 19   'Innenfarbe "TA-1"
Const grün = 35   'Innenfarbe "C1-BRT"
Dim AC As Range, Fl As Worksheet
Dim AJ As Range, Rd As Worksheet
Dim z As Integer
Sub Arbeitstage_auflisten()
Dim Heute As Date, j As Integer
Dim lzFl As Long, lzRd As Long
Set Fl = Worksheets("Flächen")
Set Rd = Worksheets("Realdaten")
lzFl = Fl.Cells(Rows.Count, 1).End(xlUp).Row
lzRd = Rd.Cells(Rows.Count, 1).End(xlUp).Row
With Worksheets("Filter")
'alte Tabellen löschen
.Range("A4:J27").ClearContents
'erster Codeteil, zuerst in Sheet Realdaten
Heute = .Range("B1").Value
z = 4 '1. Zeile für TA-1 Termine
'Schleife für Realdaten auflisten
For j = 0 To Tage
'Datum in Realdaten suchen  (Spalten "TA-")
For Each AC In Rd.Range("C2:O" & lzRd)
If AC.Value = Heute Then
If AC.Interior.ColorIndex = lila Then
.Cells(z, 1) = Rd.Cells(AC.Row, 1)
.Cells(z, 2) = Rd.Cells(1, AC.Column)
.Cells(z, 3) = AC.Value
z = z + 1
End If
End If
Next AC
'Heute auf naechsten Tag setzen
Heute = CDate(Heute + 1)
Next j
'zweiter Codeteil, diesmal in Sheet Flächen
Heute = .Range("B1").Value
z = 4 '1. Zeile für TA-1 Termine
'Schleife für Flächen auflisten
For j = 0 To Tage
'Datum in Flächen suchen  (Spalten C)
For Each AC In Fl.Range("C3:C" & lzFl)
'Fehler im Beispiel verursachte Laufzeitfehler!!
If Trim(AC.Offset(0, -2)) = Empty Then Exit For
If AC.Value = Heute Then
.Cells(z, 6) = AC.Offset(0, -2)  'MSN
'** unklar ist mir Spalte G Wo kommt der Wert her ?
'   .Cells(z, 7) ggf. selbst korrigieren !!
.Cells(z, 7) = AC.Offset(0, -1)  'Version  ?
.Cells(z, 9) = AC.Offset(0, 1)   'CEC-1
.Cells(z, 10) = AC.Offset(0, 2)  'CEC-2
.Cells(z, 8) = AC.Value
z = z + 1
End If
Next AC
'Heute auf naechsten Tag setzen
Heute = CDate(Heute + 1)
Next j
'dritter Codeteil, diesmal in Sheet Realdaten
'Schleife für C1-BRT auflisten
For j = 4 To 27
Heute = .Cells(j, 8).Value
'Datum in Realdaten suchen  (Spalten "TA-")
For Each AC In Rd.Range("C2:O" & lzRd)
If AC.Value = Heute Then
If AC.Interior.ColorIndex = grün Then
.Cells(j, 7) = Rd.Cells(1, AC.Column)
End If
End If
Next AC
Next j
End With
End Sub

Anzeige
AW: Nächsten 20 Arbeitstage
01.06.2017 11:43:59
Christian
Wahnsinn Piet vielen Dank !! :) Ihr seid ja der pure Wahnsinn hier.
Viele Grüße
Christian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige