online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Ronja82 vom 08.04.2022, 10:13 Options

Datum

Hallo,

ich brauche Eure Hilfe wieder einmal.

Ich möchte das die Wochenenden wegelassen wird!
Kann mir jmd. helfen.

Bsp.: so muss es später aussehen

1 2 3 4 5 8 9
Mo Di Mi Do Fr. Mo Di .... usw.

Das habe ich im Web gefunden

Dim Jahr As String, neuerMonat As String
Dim Monat As Integer, Tag As Integer, AnzTage As Integer
Dim d As Date
Dim wks As Worksheet
Dim i As Integer

'Anzahl Tage des aktuellen Monats
AnzTage = DateSerial(Year(Now), Month(Now) + 1, 1) _
- DateSerial(Year(Now), Month(Now), 1)

Range("D6:ah6").NumberFormat = "d"
Range("D6:ah6").HorizontalAlignment = xlCenter
Range("D5:ah5").NumberFormat = "ddd"

For Tag = 1 To AnzTage
With Cells(6, Tag + 3)
d = DateSerial(Jahr, Monat, Tag)

If Weekday(d) = 1 Or Weekday(d) = 7 Then
'prüfen ob Sa / So wenn ja Hintergrundfarbe grün
'Range(Cells(3, Tag + 3), (Cells(40, Tag + 3))).Interior.ColorIndex = 35 ' das will ich NICHT

End If
.Value = d


Cells(5, Tag + 3) = d
End With

Next Tag

Gruß, Ronja


Antwort schreiben

Antwort 1 von Flupo vom 08.04.2022, 10:44 Options

Am Einfachsten lässt sich das mit "Autoausfüllen" realisieren.
Du musst nur einen entsprechenden Zyklus (also Mo-Fr und danach noch ein Mo) manuell eingeben. Dann markierst du das alles und kannst die Reihe weiter ausziehen (Anfasser an der Ecke unten rechts).

Gruß Flupo

Antwort 2 von Ronja82 vom 08.04.2022, 10:58 Options

ich möchte doch als vba haben !!
wichtig !

Antwort 3 von M.O. vom 08.04.2022, 12:00 Options

Hallo Ronja,

dein Code könnte z.B. so aussehen:

Sub Wochentage()

Dim Jahr As String, neuerMonat As String
Dim Monat As Integer, Tag As Integer, AnzTage As Integer
Dim d As Date
Dim wks As Worksheet
Dim i As Integer


'Hier werden das aktuelle Jahr und der laufende Monat festgelegt; ist ggf. zu ändern
Jahr = Year(Now)
Monat = Month(Now)

'Anzahl Tage des Monats werden berechnet
AnzTage = DateSerial(Year(Jahr), Month(Monat) + 1, 1) _
- DateSerial(Year(Jahr), Month(Monat), 1)


'Zellbereich für Ausgabe wird formatiert
Range("D6:ah6").NumberFormat = "d"
Range("D6:ah6").HorizontalAlignment = xlCenter
Range("D5:ah5").NumberFormat = "ddd"

'Wochentage werden auf Tabellenblatt geschrieben
For Tag = 1 To AnzTage
d = DateSerial(Jahr, Monat, Tag)

If Weekday(d) > 1 And Weekday(d) < 7 Then
 i = i + 1
 Cells(6, i + 3).Value = d
 Cells(5, i + 3) = d
End If

Next Tag

End Sub


Gruß

M.O.

Antwort 4 von Ronja82 vom 08.04.2022, 12:28 Options

PERFEKT M.O.

so wollte ich es haben

Vielen Lieben Dank

freu :-))

Antwort 5 von M.O. vom 08.04.2022, 15:22 Options

Hallo Ronja,

danke für die Rückmeldung.

Gruß

M.O.

Ähnliche Themen

Zellenformatierung Datum
Weltmeister  04.11.2008 - 14 Hits - 3 Antworten

automatisches Datum
roxianna  18.12.2008 - 19 Hits - 3 Antworten

Frage zu Datum
netmx  06.05.2009 - 577 Hits - 35 Antworten

Datum farbig
Jeremy  21.10.2009 - 117 Hits - 2 Antworten

Datum vergleichen
abldienst  01.04.2010 - 158 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026