Thema Datum  Von Nutzer Rating
Antwort
17.11.2011 09:50:52 kay
NotSolved
17.11.2011 18:28:30 Till
NotSolved
21.11.2011 08:47:21 Kay
NotSolved
Blau Zuweisung Datum pro Zeile
21.11.2011 14:26:29 Kay
NotSolved
21.11.2011 17:51:51 Till
NotSolved

Ansicht des Beitrags:
Von:
Kay
Datum:
21.11.2011 14:26:29
Views:
956
Rating: Antwort:
  Ja
Thema:
Zuweisung Datum pro Zeile

 

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:

Dim TagesDaten%(2, 1)
Dim d1 As Date
     
    d1 = Date
    TagesDaten(0, 0) = 3 'Anz Besuche Tag1
    TagesDaten(0, 1) = 2 'Anz Personen Tag1
    TagesDaten(1, 0) = 3 'Anz Besuche Tag2
    TagesDaten(1, 1) = 7 'Anz Personen Tag2
    TagesDaten(2, 0) = 3 'Anz Besuche Tag3
    TagesDaten(2, 1) = 7 'Anz Personen Tag3

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"?

Sub datumeintragen()
 
Dim a&, b&, I&, E&, LetzteZeile&
Dim TagesDaten%(4, 1)
Dim d1 As Date

    d1 = Date
    TagesDaten(0, 0) = 2 'Tag1, Anz Besuche pro Tag pro Person
    TagesDaten(0, 1) = 3 'Tag1, Anz Personen
    TagesDaten(1, 0) = 2 'Tag2, Anz Besuche pro Tag pro Person
    TagesDaten(1, 1) = 3 'Tag2, Anz Personen
    TagesDaten(2, 0) = 2 'Tag3, Anz Besuche pro Tag pro Person
    TagesDaten(2, 1) = 3 'Tag3, Anz Personen
    TagesDaten(3, 0) = 2 'Tag4, Anz Besuche pro Tag pro Person
    TagesDaten(3, 1) = 3 'Tag4, Anz Personen
    TagesDaten(4, 0) = 2 'Tag5, Anz Besuche pro Tag pro Person
    TagesDaten(4, 1) = 3 'Tag5, Anz Personen
     
    For I = 0 To UBound(TagesDaten) 'Durchlauf für jeden Satz an Tagesdaten
        E = TagesDaten(I, 0) * TagesDaten(I, 1) 'Multiplikation von Personen und Besuchen pro Datum
                
        For b = 1 To E      'Durchlauf von 1 bis "Ergebnis der Multiplikation"
    
            If Weekday(d1) = 4 Then                             'Prüfe ob d1 = 4 (Mittwoch)
                d1 = d1 + 1                                     'Addiere 1 Tag zu d1
                Cells(b + LetzteZeile, 1) = DateAdd("d", I, d1) 'Ausgabe von d1 als Datum
            Else
                Cells(b + LetzteZeile, 1) = DateAdd("d", I, d1) 'Ausgabe von d1 als Datum
            End If
                   
        Next
        LetzteZeile = LetzteZeile + E
    Next
    
End Sub

 

 

Gruss
Kay

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
17.11.2011 09:50:52 kay
NotSolved
17.11.2011 18:28:30 Till
NotSolved
21.11.2011 08:47:21 Kay
NotSolved
Blau Zuweisung Datum pro Zeile
21.11.2011 14:26:29 Kay
NotSolved
21.11.2011 17:51:51 Till
NotSolved