Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1572to1576
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

Arbeitstage berechnen

Arbeitstage berechnen
08.08.2017 21:29:25
Lars_E
Servus Forum,
würde gerne eine Rückwärtsrechnung für Arbeitstage in VBA implementieren, aber der Recorder spuckt nur das unten aufgeführte aus. Für den Anfang ok, es hilft mir nicht wirklich weiter. Kann man das auch kürzer oder eleganter darstellen? Auch würde ich gerne, das der Code erst ab Zeile 5 startet, danach jede dritte Zeile ausgeführt wird (For-Schleife?), bis zum Ende von den eingegeben Werten.
An die Prüfung ob ein Wert in dieser Zelle vorhanden ist oder nicht, würde ich mich selber probieren wollen. Ein dickes Danke für die Hilfe!
Lars
Sub Test1()
Range("I7").Select
ActiveCell.FormulaLocal = "=ARBEITSTAG(J6;-15)"
Range("H7").Select
ActiveCell.FormulaLocal = "=ARBEITSTAG(I7;-5)"
Range("G7").Select
ActiveCell.FormulaLocal = "=ARBEITSTAG(H7;-10)"
Range("F7").Select
ActiveCell.FormulaLocal = "=ARBEITSTAG(G7;-4)"
Range("E7").Select
ActiveCell.FormulaLocal = "=ARBEITSTAG(F7;-12)"
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Deutungsversuch
09.08.2017 08:45:23
lupo1

Sub MachsZusammen()
[E:J].NumberFormat = "m/d/yyyy"
[E4] = Date
For i = 7 To 34 Step 3
Range("J" & i - 1).FormulaR1C1 = "=R[-2]C[-5]"
Range("E" & i & ":I" & i).FormulaR1C1 = _
"=WORKDAY(INDEX(R[-1]:R," & _
"CHOOSE(COLUMN(RC[-4]),2,2,2,2,1),COLUMN(RC[1])),-" & _
"CHOOSE(COLUMN(RC[-4]),12,4,10,5,15))"
Next
End Sub

AW: Deutungsversuch
10.08.2017 09:49:18
Lars_E
Hallo lupo1,
danke dir für die erste Lösung. Die läuft schon so wie gewollt. Zwei Fragen noch: Ich würde gerne vorgegebene Werte nutzen, dh. in Spalte "Y" sind die Daten vorhanden die als Anfangswert für die Berechnung dienen.
Wie kann ich den Code ändern, dass ich den Bereich AA:AF abdecken kann?
Danke für deine Hilfe!
Anzeige
Bitte recht deutlich
10.08.2017 13:42:58
lupo1
Schreibe die Formeln für den ersten Zellenblock hin, statt lange rumzureden, was man am Ende nicht versteht.
Das fängt mit Y und AA:AF schon mal ganz schrecklich an. Bisher gab es nur 4 gleiche und dann noch 2 verschiedene Bezüge.
Also noch mal mit Windeln:
AA3:
AB3:
AC3:
AD3:
AE3:
AF3:
AF2: ?
Y2: ?
Y3: ?
AW: Bitte recht deutlich
10.08.2017 16:39:50
Lars_E
Ok, etwas verwirrend, merk ich grad selber.
Hab deine Vorlage nochmal gepostet. Vielleicht ist es einfacher es daran zu erklären. Hab die etwas angepasst da ich die Tabelle umstrukturieren musste.
Mit der .UsedRange versuche ich bis zum Ende des Dokuments zu kommen, um die statische "50" zu umgehen. Funktioniert jedoch noch nicht.
In Y habe ich jede 3. Zeile ein Datum stehen, auf das sich die AF Spalte beziehen soll.
Für die berechneten Daten bekomme ich aber trotzdem noch #Wert! angezeigt. Liegt es an den 2,2,2,2 in der ersten Choose Reihe? Verstehe noch nicht auf was die sich beziehen.
Danke für deine Hilfe!
Sub MachsZusammen_neu()
Dim i As Integer
[AA:AF].NumberFormat = "m/d/yyyy"
[AA4] = Date
'For i = 7 To .UsedRange.Rows.Count Step 3
For i = 7 To 50 Step 3
Range("AF" & i + 1).FormulaR1C1 = "=R[-4]C[-5]"
Range("AA" & i + 1 & ":AE" & i + 1).FormulaR1C1 = _
"=WORKDAY(INDEX(R[-1]:R," & _
"CHOOSE(COLUMN(RC[-4]),2,2,2,2,1),COLUMN(RC[1])),-" & _
"CHOOSE(COLUMN(RC[-4]),12,4,10,5,15))"
Next
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige