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

Wert im Namen

Wert im Namen
21.08.2017 10:09:01
Christian
Moin alle zusammen,
ich dachte ich hätte das Problem so lösen können... und zwar möchte ich die Anzahl an Arbeitstagen, die ich per Button auf ein bestimmtes Datum addiere, variable eingeben können. Dafür habe ich einen Namen definiert:
Anzahl_Tage=Simulation!$D$2
Nun gebe ich in die Zelle zum Beispiel den Wert 2 ein, dann reagiert er beim ersten Klick auch darauf und addiert das Datum um zwei Arbeitstage... aber beim zweiten Klick erhöht er das Datum nur noch um einen Arbeitstag. Obwohl in der Zelle immer noch 2 steht.
Woran könnte es liegen?
Sub Zelle_Plus()
Dim sp As Integer, s As Integer
With Worksheets("Realdaten")
lz = .Cells(1, 1).End(xlDown).Row
sp = .Cells(1, 100).End(xlToLeft).Column
'Phasen Text in Überschrift suchen
For j = 5 To sp
If .Cells(1, j).Value = Phasen Then
'Datum in Phasen suchen
For i = 2 To lz
If .Cells(i, j).Value = Datum Then
'Datum Aenderung Rot markieren
If NextWorkDay(Datum, Range("Anzahl_Tage"))  RefDat Then
.Cells(i, j).Font.ColorIndex = 3
Else  'Markierung löschen
.Cells(i, j).Font.ColorIndex = 1
End If
'Datum Aenderung in Zelle eintragen
.Cells(i, j).Value = NextWorkDay(Datum, 1)
Exit Sub
End If
Next i
End If
Next j
End With
End Sub
Viele Grüße und vielen Dank für euren Support
Christian

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert im Namen
21.08.2017 10:16:54
ChrisL
Hi Christian
Vielleicht reicht ein Punkt vor Range
If NextWorkDay(Datum, .Range("Anzahl_Tage")) RefDat Then
Ansonsten bitte eine kleine Musterdatei laden.
cu
Chris
Leider nein :/
21.08.2017 13:10:51
Christian
Moin Chris,
ich fürchte ich bekomme in meine aktuelle Codestruktur die Implementierung eines Namens nicht reicht. Jetzt ist es quasi egal welche Zahl in der Zelle stehen habe, er rechnet nur um 1 Arbeitstag hoch.
Im Moment kann ich keine Beispieldatei hochladen aber heute Abend. Hast du so noch andere Tipps?
Sub Zelle_Minus()
Dim sp As Integer, s As Integer
With Worksheets("Realdaten")
lz = .Cells(1, 1).End(xlDown).Row
sp = .Cells(1, 100).End(xlToLeft).Column
'Phasen Text in Überschrift suchen
For j = 5 To sp
If .Cells(1, j).Value = Phasen Then
'Datum in Phasen suchen
For i = 2 To lz
If .Cells(i, j).Value = Datum Then
'Datum Aenderung Rot markieren
   If NextWorkDay(Datum, -Range("Anzahl_Tage"))  RefDat Then
.Cells(i, j).Font.ColorIndex = 3
Else  'Markierung löschen
.Cells(i, j).Font.ColorIndex = 1
End If
'Datum Aenderung in Zelle eintragen
.Cells(i, j).Value = NextWorkDay(Datum, -1)
Exit Sub
End If
Next i
End If
Next j
End With
End Sub
Viele Grüße
Christian
Anzeige
Ist doch schon beantwortet owT
21.08.2017 10:20:00
SF
Schön wäre es :)
21.08.2017 13:11:54
Christian
Aber leider bekomme ich NextWorkDay scheinbar nicht mit einen Namen kombiniert um eine variable Zahl hinzuzufügen.
Viele Grüße
Christian
NextWorkDay?
21.08.2017 10:51:43
RPP63
Moin!
Was soll NextWorkDay sein?
Eine UDF?
Warum benutzt Du nicht WorksheetFunction.WorkDay()?
Gruß Ralf
AW: NextWorkDay?
21.08.2017 13:14:33
Christian
Wie würde das im Code aussehen? Den so bekomme ich leider eine Fehlermeldung (Schwarz markiert)
Sub Zelle_Plus()
Dim sp As Integer, s As Integer
With Worksheets("Realdaten")
lz = .Cells(1, 1).End(xlDown).Row
sp = .Cells(1, 100).End(xlToLeft).Column
'Phasen Text in Überschrift suchen
For j = 5 To sp
If .Cells(1, j).Value = Phasen Then
'Datum in Phasen suchen
For i = 2 To lz
If .Cells(i, j).Value = Datum Then
'Datum Aenderung Rot markieren
 If Worksheet.WorkDay(Datum, Range("Anzahl_Tage"))  RefDat Then
             .Cells(i, j).Font.ColorIndex = 3
Else  'Markierung löschen
.Cells(i, j).Font.ColorIndex = 1
End If
'Datum Aenderung in Zelle eintragen
.Cells(i, j).Value = NextWorkDay(Datum, 1)
Exit Sub
End If
Next i
End If
Next j
End With
End Sub
Viele Grüße
Christian
Anzeige
WorksheetFunction.Workday nicht Worksheet.Workday
21.08.2017 13:43:11
RPP63
ohne weiteren Text
Gruß Ralf
Klappt leider auch nicht :/
21.08.2017 13:56:20
Christian
Gruß Christian
Problem gelöst
21.08.2017 15:38:17
Christian
Hatte in der zweiten Zeile
 .Cells(i, j).Value = NextWorkDay(Datum, 1)
den Code nicht angepasst
Viele Grüße
Christian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige