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

Arbeitstag als Variable in FormularLocal

Arbeitstag als Variable in FormularLocal
07.12.2020 08:15:55
Kay
Hallo zusammen,
ich bräuchte mal Eure Hilfe.
Ich habe ein Excel Sheet, in dem für jeden Arbeitstag ein Sheet angelegt ist. Jetzt möchte ich in jedem Sheet, eine Zahl ermitteln, die am vorherigen Arbeitstag die letzte war.
Ich lege die Arbeitsblätter, immer mit eine Code an und würde die Formeln entsprechend gleich mit rein schreiben lassen.
Ich bekomme hier aber immer einen Fehler angezeigt und komme nicht auf das Ergebnis.
Hier mein Code dazu. Der Fehler liegt in der Fett markierten Zeile. In der Zelle BI7 steht das jeweilige aktuelle Datum, was auch gleichzeitig der Sheet-Name ist.
Die Formel soll dann als Beispiel so aussehen, wie ich es manuell in Excel eingetragen habe. Dabei ist das Datum eben pro Sheet variabel und ist immer der vorherige Arbeitstag:
=WERT('04.01.2021'!CJ26)
Dim WsNamen As Worksheet
Dim WsKopie As Worksheet
Dim i As Integer
Dim intLastZ As Integer
intLastZ = Cells(Rows.Count, 12).End(xlUp).Row
'MsgBox "letzte zelle: " & intLastZ, vbInformation
Set WsNamen = ThisWorkbook.Worksheets("Arbeitstage")
Set WsKopie = ThisWorkbook.Worksheets("Vorlage_DDS")
For i = 1 To intLastZ
WsKopie.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = WsNamen.Cells(i, 1).Value
ActiveSheet.Range("BI7") = ActiveSheet.Name
ActiveSheet.Range("CJ26").FormulaLocal = "=Max(CA23:CA26)"
ActiveSheet.Range("CL26").FormulaLocal = "=WERT(CJ26)"
ActiveSheet.Range("CK26").FormulaLocal = "=WERT('" & "ARBEITSTAG(BI7;-1;Feiertage)" & "'!CJ26)"
Next
Set WsKopie = Nothing
Set WsNamen = Nothing
Vielen Dank für Eure Hilfe
Liebe Grüße Kay

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

Betreff
Datum
Anwender
Anzeige
AW: Arbeitstag als Variable in FormularLocal
07.12.2020 13:23:22
MRUTOR
Hallo,
hab jetzt nichts getestet, aber ich meine, dass da ein Hochkomma zu viel ist nach der ersten Klammer. Probier mal:
ActiveSheet.Range("CK26").FormulaLocal = "=WERT(" & "ARBEITSTAG(BI7;-1;Feiertage)" & "'!CJ26)"

Gruss Tor
AW: Arbeitstag als Variable in FormularLocal
07.12.2020 13:25:33
Yal
Hallo Kay,
ich gehe davon Aus, dass der Fehler beiret beim erster Schleife auftaucht: existiert das Blatt vom vorige Arbeitstag?
Zweitens: Du willst für das Blattnaem eine festen Eintrag =WERT('04.01.2021'!CJ26)
Weil Du wahrscheinlich in deine erste Liste die Arbeitstage berechnet hast, ersetzt dann lieber in deiner For-Schleife eine Memory-Variable.

'Basiswert
strMemory = "03.01.2021"
For i = 1 to intLastZ
ActiveSheet.Range("CK26").FormulaLocal = "=WERT('" & strMemory & "'!CJ26)"
strMemory = WsNamen.Cells(i,1)
Next

Oder setzt direkt auf die zelle davor:
    ActiveSheet.Range("CK26").FormulaLocal = "=WERT('" & WsNamen.Cells(i - 1,1) & "'!CJ26)"

Bei letzteres muss Du ab Zeile 2 die Schleife starten.
Viel Erfolg
Yal
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige