Hi,
habe mit dem Code bisschen gespielt. Sehe ich das richtig dass mit "Tagesdaten" jeder Tag einzel festgelegt wird?
So werden also Zeilen über drei Tage in der Exceltabelle eingetragen:
1 2 3 4 5 6 7 8 9 10 | Dim TagesDaten%(2, 1)
Dim d1 As Date
d1 = Date
TagesDaten(0, 0) = 3
TagesDaten(0, 1) = 2
TagesDaten(1, 0) = 3
TagesDaten(1, 1) = 7
TagesDaten(2, 0) = 3
TagesDaten(2, 1) = 7
|
Ist es möglich die Anzahl Personen und Anzahl Besuche aus einem Feld in der Tabelle auszulesen und für jede Zeile bis zB. Zeile 1000 zu verwenden? Ich möchte nicht die Personen und Anzahl Besuche für jeden Tag einzeln festlegen.
______________________________________________________________________________________________________________________
Die Überprüfung der Wochentage (Fr-So keine Besuche möglich) gibt mir auch Kopfzerbrechen. Habe es mit einer "If...then...else Verzweigung" versucht.
Testfall (vgl. Code): wenn der Wochentag = 4 (Mittwoch), soll ein Tag (1) hinzugezählt werden und somit ein Donnerstag (5) ausgegeben werden (Mittwoch soll in diesem Testfall ausgelassen werden). Was aber nicht funktioniert, der Mittwoch erscheint trotzdem auf sechs Zeilen im Excelsheet. Welchen Überlegungsfehler mache ich im folgenden Code rund um die "If...then...else Verzweiung"?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | Sub datumeintragen()
Dim a&, b&, I&, E&, LetzteZeile&
Dim TagesDaten%(4, 1)
Dim d1 As Date
d1 = Date
TagesDaten(0, 0) = 2
TagesDaten(0, 1) = 3
TagesDaten(1, 0) = 2
TagesDaten(1, 1) = 3
TagesDaten(2, 0) = 2
TagesDaten(2, 1) = 3
TagesDaten(3, 0) = 2
TagesDaten(3, 1) = 3
TagesDaten(4, 0) = 2
TagesDaten(4, 1) = 3
For I = 0 To UBound(TagesDaten)
E = TagesDaten(I, 0) * TagesDaten(I, 1)
For b = 1 To E
If Weekday(d1) = 4 Then
d1 = d1 + 1
Cells(b + LetzteZeile, 1) = DateAdd( "d" , I, d1)
Else
Cells(b + LetzteZeile, 1) = DateAdd( "d" , I, d1)
End If
Next
LetzteZeile = LetzteZeile + E
Next
End Sub
|
Gruss
Kay
|