Anzeige
Archiv - Navigation
1376to1380
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
Wochentag in TextBox prüfen
19.08.2014 14:45:34
Frank
Hallo Zusammen!
Mein bisheriger Code:
Private Sub ListBox1_Click()
i = cbMonat.ListIndex + 1
txtBuchung = DateSerial(cbJahr, i, 1)
End Sub

Nun möchte ich aber, dass wenn der Erste auf einen Samstag fällt, dass das Datum in der TextBox - txtBuchung - um 2 weiter gezählt wid, also der Dritte des Monats als Ergebnis erscheint und wenn Sontag ist um Eins weiter gezählt wird. Wie kann ich das bewerkstelligen? Danke im Voraus!
Gruß Frank H.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wochentag in TextBox prüfen
19.08.2014 15:18:35
JoWE
Hallo Frank,
Select Case Weekday(DateSerial(cbJahr, i, 1), 2) 'diese 2 bedeutet das Mo der 1. Wochentag ist
Case Is = 6
txtBuchung = DateSerial(cbJahr, i, 1 + 2)
Case Is = 7
txtBuchung = DateSerial(cbJahr, i, 1 + 1)
End Select
Gruß
Jochen

AW: Wochentag in TextBox prüfen
19.08.2014 15:20:04
JoWE
Hallo Frank,
Select Case Weekday(DateSerial(cbJahr, i, 1), 2) 'diese 2 bedeutet das Mo der 1. Wochentag ist
Case Is = 6
txtBuchung = DateSerial(cbJahr, i, 1 + 2)
Case Is = 7
txtBuchung = DateSerial(cbJahr, i, 1 + 1)
Case else
txtBuchung = DateSerial(cbJahr, i, 1)
End Select
Gruß
Jochen

Anzeige
AW: Wochentag in TextBox prüfen
19.08.2014 15:31:12
Frank
Hallo Jochen!
Perfekt, funzt bestens!!! Vielen Dank dafür und noch einen schönen Tag!
Gruß Frank H.

AW: Wochentag in TextBox prüfen
19.08.2014 15:34:17
Frank
Hallo Jochen!
Perfekt, Funzt Super!!! Vielen lieben Dank und noch einen schönen Tag.
Gruß Frank H.

spät, dafür ein Einzeiler
19.08.2014 18:35:54
Erich
Hi Frank,
in Excel würde ich das mit einer kurzen Formel machen, wie in Spalte B:
 ABCD
1Fr  22.08.14Fr  22.08.14Fr  22.08.1422.08.2014
2Sa  23.08.14Mo  25.08.14Mo  25.08.1425.08.2014
3So  24.08.14Mo  25.08.14Mo  25.08.1425.08.2014
4Mo  25.08.14Mo  25.08.14Mo  25.08.1425.08.2014
5Di  26.08.14Di  26.08.14Di  26.08.1426.08.2014

Formeln der Tabelle
ZelleFormel
B1=A1+MAX(;2-REST(A1;7))
C1=WoTag(A1)
D1=WoTagTxt(A1)

In VBA gehts ebenso kurz, mit der Fkt. WoTag, die ein Datum zurück gibt.
Da du den Wert in einer TextBox brauchst, also einen Text, empfielt sich eher die Fkt. WoTagTxt():
Function WoTag(dDat As Date) As Date
WoTag = dDat + Application.Max(0, 2 - dDat Mod 7)
End Function
Function WoTagTxt(dDat As Date) As String
WoTagTxt = Format(dDat + Application.Max(0, 2 - dDat Mod 7), "dd/mm/yyyy")
End Function
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: spät, dafür ein Einzeiler
19.08.2014 19:05:12
Frank
Hallo Erich!
Wie muss ich deinen Vorschlag in mein Click - Ereignis der ListBox einbauen? Ich will was lernen!
Danke und Gruß Frasnk H.

im Ereignis
20.08.2014 02:07:15
Erich
Hi Frank,
probier mal

Private Sub ListBox1_Click()
Dim dDat As Date
dDat = DateSerial(cbJahr, cbMonat.ListIndex + 1, 1)
txtBuchung = Format(dDat + Application.Max(0, 2 - dDat Mod 7), "dd/mm/yyyy")
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

AW: im Ereignis
20.08.2014 09:17:16
Frank
Guten Morgen Erich!
Klappt auch Super, werde ich so nehmen! Besten Dank und 'nen schönen Tag!
Gruß Frank H.
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige