Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Fortlaufendes Datum in Excel





Frage

Ich habe leider so gut wie keine Ahnung von Excel und hoffe ganz dreist, dass mir hier einer helfen kann :-) Ich möchte, dass in einer Zeile (Zeile 3 um genau zu sein) von A bis ZZZZZ (oder unendlich ;-) ) fortlaufend das Datum eingetragen wird, also: A3: 2005-08-22 B3: 2005-08-23 C3: 2005-08-24 usw. usf. Am besten wäre noch, wenn Samstage und Sonntage (und Feiertage?) außer Acht gelassen werden könnten, also nur die Arbeitstage eingetragen würden, aber dies wäre nur eine Bonusfrage. Die Hilfefunktion hat mir dabei nicht wirklich weitergeholfen ... Kann das jemand von euch??? Vielen Dank im Voraus, mkreysern

Antwort 1 von K-D

Hi,

diese Funktion ist in der Hilfe gut dokumentiert. Unter dem Artikel: "Erstellen einer aufeinander folgenden Liste von Datumsangaben"

Ich bin mit den Suchbegriffen "datum addieren" drauf gestoßen.

Damit kannst Du auch Deinen Wunsch mit den Wochenenden realisieren. Feiertage leider nich.

Gruß
K-D

Antwort 2 von mkreysern

Vielen, vielen Dank für die Hilfe! Manchmal ist die Lösung leichter als man denkt.
Ich habe jedoch Excel 2000, da gab es dieses Hilfskapitel nicht (hab dann im Internet gesucht).

http://office.microsoft.com/de-de/assistance/HP051993171031.aspxhtt...

In dieser Hilfestellung wird das Auto-Ausfülloptions-Kästchen erwähnt. Dieses kann ich bei Excel 2000 jedoch nicht finden. Dadurch habe ich es immer noch nicht geschafft, Samstage und Sonntage automatisch auszulassen. Weiß jemand wie man diese Funktion bei Excel 2000 aktiviert?

Gute Nacht,
mkreysern

Antwort 3 von mkreysern

Antwort 4 von K-D

Ich nutze zwar nich Excel 2000, aber das Kästchen kam bei mir erst, nachdem ich schon die Datumsfunktion eingerichtet hatte.

Antwort 5 von mkreysern

dieses Kästchen scheint bei Excel 2000 noch nciht zu existieren :-(

Antwort 6 von K-D

Kennst Du Dich in der Verwendung von VBA aus? Dann schreibe ich Dir die Funktion.

Antwort 7 von K-D

Dieser Code ist macht das, was Du wolltest.

Wenn Du mit nem Tag beginnst, der am Wochenende liegt, haut es am Anfang nicht ganz hin. Da hatte ich jetzt keinen Bock drauf. :)

Private Sub AddDate()
Dim d As Date
Dim i As Integer

d = Cells(3, 1).Value
For i = 2 To 256
If Weekday(d) = vbFriday Then
d = DateAdd("d", 3, d)
Else
d = DateAdd("d", 1, d)
End If
Cells(3, i).Value = d
Next i

End Sub

Ich hoffe, Du kommst damit klar.

Antwort 8 von nighty

hi all :)

ein aelteres modul schnell umgeschrieben

zur zeit ist a1 die startposition wo das gewuenschte jahr 2000 bis 2040 auswaehlbar waere

gruss nighty

Sub jahresdaten()
Columns("A:AF").ColumnWidth = 18
Dim da(3, 12)
Dim tag$(39), tag1$(7)
da(0, 1) = 31
da(0, 2) = 29
da(0, 3) = 31
da(0, 4) = 30
da(0, 5) = 31
da(0, 6) = 30
da(0, 7) = 31
da(0, 8) = 31
da(0, 9) = 30
da(0, 10) = 31
da(0, 11) = 30
da(0, 12) = 31
da(1, 1) = 31
da(1, 2) = 28
da(1, 3) = 31
da(1, 4) = 30
da(1, 5) = 31
da(1, 6) = 30
da(1, 7) = 31
da(1, 8) = 31
da(1, 9) = 30
da(1, 10) = 31
da(1, 11) = 30
da(1, 12) = 31
da(2, 1) = 31
da(2, 2) = 28
da(2, 3) = 31
da(2, 4) = 30
da(2, 5) = 31
da(2, 6) = 30
da(2, 7) = 31
da(2, 8) = 31
da(2, 9) = 30
da(2, 10) = 31
da(2, 11) = 30
da(2, 12) = 31
da(3, 1) = 31
da(3, 2) = 28
da(3, 3) = 31
da(3, 4) = 30
da(3, 5) = 31
da(3, 6) = 30
da(3, 7) = 31
da(3, 8) = 31
da(3, 9) = 30
da(3, 10) = 31
da(3, 11) = 30
da(3, 12) = 31
tag1$(1) = "Montag"
tag1$(2) = "Dienstag"
tag1$(3) = "Mittwoch"
tag1$(4) = "Donnerstag"
tag1$(5) = "Freitag"
tag1$(6) = "Samstag"
tag1$(7) = "Sonntag"
tag$(0) = "Samstag"
tag$(1) = "Montag"
tag$(2) = "Dienstag"
tag$(3) = "Mittwoch"
tag$(4) = "Donnerstag"
tag$(5) = "Samstag"
tag$(6) = "Sonntag"
tag$(7) = "Montag"
tag$(8) = "Dienstag"
tag$(9) = "Donnerstag"
tag$(10) = "Freitag"
tag$(11) = "Samstag"
tag$(12) = "Sonntag"
tag$(13) = "Dienstag"
tag$(14) = "Mittwoch"
tag$(15) = "Donnerstag"
tag$(16) = "Freitag"
tag$(17) = "Sonntag"
tag$(18) = "Montag"
tag$(19) = "Dienstag"
tag$(20) = "Mittwoch"
tag$(21) = "Freitag"
tag$(22) = "Samstag"
tag$(23) = "Sonntag"
tag$(24) = "Montag"
tag$(25) = "Mittwoch"
tag$(26) = "Donnerstag"
tag$(27) = "Freitag"
tag$(28) = "Samstag"
tag$(29) = "Montag"
tag$(30) = "Dienstag"
tag$(31) = "Mittwoch"
tag$(32) = "Donnerstag"
tag$(33) = "Samstag"
tag$(34) = "Sonntag"
tag$(35) = "Montag"
tag$(36) = "Dienstag"
tag$(37) = "Donnerstag"
tag$(38) = "Freitag"
tag$(39) = "Samstag"
j1$ = Date
lzeile = 1
adress$ = ActiveWindow.RangeSelection.Address
adress1 = Len(adress$)
For mo = 1 To adress1
If Mid$(adress, mo, 1) = "$" Then
llp = llp + 1
Else
If llp = 1 Then
spalte$ = spalte$ + Mid$(adress, mo, 1)
End If
If llp = 2 Then
zeile$ = zeile$ + Mid$(adress, mo, 1)
zeile1 = Val(zeile$)
End If
End If
Next mo
If zeile1 = 1 And Range(spalte$ & zeile1) = "" Then zeile1 = zeile1 + 1
zeile1 = zeile1 - 1

Rem a1 anfangsposition

jj$ = Range("A1")
j1 = Range("A1")

If j1 < 2040 And j1 > 1999 Then
j2 = j1 - 2000
j3 = 1
Do
If j2 < 4 Then
Exit Do
Else
j2 = j2 - 4
j3 = j3 + 1
j4 = j4 + 4
End If
Loop
If Range(spalte$ & 1) = "" Then zeile1 = zeile1 + 1
jk3$ = "0"
tz = 1
j4 = j4 + j2
For u = 1 To 7
If tag$(j4) = tag1$(u) Then tz1 = u - 1
Next u
For t = 1 To 12
For t1 = 1 To da(j2, t)
If tz1 = 8 Then tz1 = 1
tt1$ = Str$(t1)
jk1 = Len(tt1$)
If Mid$(tt1$, 1, 1) = " " And jk1 = 2 Then tt1$ = jk3 + Mid$(tt1$, 2, 1)
If Mid$(tt1$, 1, 1) = " " And jk1 = 3 Then tt1$ = Mid$(tt1$, 2, 2)
tt2$ = Str$(t)
jk2 = Len(tt2$)
If Mid$(tt2$, 1, 1) = " " And jk2 = 2 Then tt2$ = jk3 + Mid$(tt2$, 2, 1)
If Mid$(tt2$, 1, 1) = " " And jk2 = 3 Then tt2$ = Mid$(tt2$, 2, 2)
With Worksheets("Tabelle1")
spalte1 = spalte1 + 1
If spalte1 < 257 And dr = 0 Then
Sheets(1).Cells(lzeile, spalte1) = tt1$ + "." + tt2$ + "." + jj$ + " " + tag1$(tz1)
Else
If spalte1 = 257 Then
dr = 1
spalte1 = 1
End If
Sheets(2).Cells(lzeile, spalte1) = tt1$ + "." + tt2$ + "." + jj$ + " " + tag1$(tz1)
End If
tz1 = tz1 + 1
tt4$ = tt2$
End With
Next t1
Next t
End If
End Sub

Antwort 9 von nighty

hi alle :)

es muessen immer zwei tabellen vorhanden sein da das jahr sich aud der zweiten tabelle ja fortsetzt

gruss nighty

Antwort 10 von nighty

hi all :)

bei bedaqrf optimiere ich es noch und auch mit ausschluss des wochenendes

gruss nighty

Antwort 11 von mkreysern

Vielen, vielen Dank für eure Hilfe! Immer wieder klasse, diese Hilfsbereitschaft hier zu erfahren :-).
Mit den Formeln und VBA konnte ich nichts mit anfangen. Hab etwas recherchiert, bin dort aber auch nicht weitergekommen. Aber das ist egal! Die Wochenenden kann man ganz leicht herauslöschen und diese Liste ist auch nicht so wichtig...
Also noch mal ganz großen Dank an euch, nighty und K-D!!!

Antwort 12 von K-D

Is gar nich schwer.

In dem Tabellenblatt trägst Du in A3 Dein Startdatum ein.

In Excel drückst Du: Alt + F11 dann hast Du ein VBA Fenster.

links wählst Du die Tabelle mit Doppelklick aus, in der die Datumsreihe stehen soll. Dann den Code aus Antwort 7 (ab dem Wort private und bis end sub) in das rechte Fenster kopieren.

Dann in der Symbolleiste auf die Play-Taste klicken.

Fertig. Nun sind im Tabellenblatt die Daten (ohne Wochenenden) drin.

Antwort 13 von mkreysern

Jetzt stehe ich vor einem neuen Problem: Wie soll ich meine Danksagungen steigern :D ???? Total krass viel Dank!!! Hat alles geklappt und war ja auch gar nicht so schwer (gesetzt man hat die Formel ;-) )
Super!!!

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: