Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1084to1088
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
Inhaltsverzeichnis

Schleife zähler ist -1

Schleife zähler ist -1
Michael
Hallo!
Wie stelle ich eine Schleife zusammen die minus zählt!
Das heißt, wenn vom 23.03 zurück bis zum 10.01 schrittweise -1 zurückgeht, soll er von der höchsten HS(Handelsspanne) anfangen und dann die nächsten 3 Tage rot makieren.
Die HS wird aus dem jeweiligen Tag HS=H-L errechnet.
Wie kann man das bewerkstelligen?
Vielen Dank

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Schleife zähler ist -1
29.06.2009 19:54:52
Daniel
Hi
ne Schleife, die Rückwärts zählt, formulierst du so:
For i = 10 to 1 Step -1
...
Next
den Rest von dem was du schreibst, versteh ich nicht.
Gruß, Daniel
AW: Schleife zähler ist -1
30.06.2009 16:39:55
Michael
Danke
For lngI = DateValue("23.03.2009") To... step -1
29.06.2009 19:59:43
NoNet
Hallo Michael,
hier ein Beispiel wie Du das lösen könntest : Die Datumsangaben werden in die Zellen der Spalte A eingetragen (bitte zunächst in leerem Tabellenblatt testen !) :
VBA-Code:
Sub DatumRueckwaerts()
    Dim lngI As Long
    'End- und Start-Datum bitte anpassen :
    For lngI = DateValue("23.03.2009") To DateValue("10.01.2009") Step -1
        Cells(Rows.Count, 1).End(xlUp).Offset(1) = lngI
    Next
    Range([A2], [A2].End(xlDown)).NumberFormat = "DD.MM.YYYY" 'Zellen formatieren
End Sub
Das mit der Handelsspanne, H, S und L habe ich aus Deiner Beschreibung nicht so recht kapiert - könntest Du das bitte etwas präzsieren ?
Gruß, NoNet
AW: For lngI = DateValue("23.03.2009") To... step -1
Michael

Danke!
Schleife ohne Step -1
Erich

Hallo Michael,
hier noch zwei Alternativen zum Testen:

Sub DatumRueckwaerts2()
Dim lngV As Long, lngB As Long
Dim lngL As Long, lngI As Long
lngV = DateValue("23.03.2009")
lngB = DateValue("10.01.2009")
lngL = Cells(Rows.Count, 1).End(xlUp).Row + 1
For lngI = 0 To lngV - lngB
Cells(lngL + lngI, 1) = lngV - lngI
Next lngI
Cells(2, 1).Resize(lngV - lngB + 1).NumberFormat = "DD.MM.YYYY"
End Sub
Sub DatumRueckwaerts3()
Dim lngV As Long, lngB As Long
Dim arrW() As Date, lngI As Long
lngV = DateValue("23.03.2009")
lngB = DateValue("10.01.2009")
ReDim arrW(0 To lngV - lngB)
For lngI = 0 To lngV - lngB
arrW(lngI) = lngV - lngI
Next lngI
With Cells(2, 1).Resize(UBound(arrW) + 1)
.Value = Application.Transpose(arrW)
.NumberFormat = "DD.MM.YYYY"
End With
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Schleife ohne Step -1
Michael

Danke!
Ich komme auch aus Kamp-Lintfort! Die Welt ist klein! Wenn Du Lust hast schreib mir!
ms_michael_2002@yahoo.de
Ich konnte damit ein klein wenig anfangen. Es ist schwierig aus einen Programm wo die Daten nicht so genau aufgelistet sind, eine Fromel zu entwickeln.
Das größte Probelem sieht so aus!

  • HS >= REF(HS, -1)and HS >= REF(HS, -2)and HS >= REF(HS, -3)and HS >= REF(HS, -4)

  • Dieses in eine Schleife zu packen, bekomme ich nicht hin! (Hier packe ich alles mit and zusammen)
    Gruß Michael

    Aufgabenstellung ist unklar
    Erich

    Hi Michael,
    mit der Beschreibung
    "soll er von der höchsten HS(Handelsspanne) anfangen und dann die nächsten 3 Tage rot makieren.
    Die HS wird aus dem jeweiligen Tag HS=H-L errechnet."
    lässt sich so kaum etwas anfangen.
    Wo kommen H und L her? Sind das vielleicht Werte aus bestimmten Spalten einer Tabelle?
    Und was ist jetzt REF(HS, -1) ? Das bleibt im Dunkel.
    Frage:
    Die bisherigen Codevorschläge zeigen, wie man Datumse von-bis absteigend in eine Tabelle schreiben kann.
    Ich vermute, das ist bei dir gar nicht nötig, weil diese Datumse schon in der Tabelle stehen, oder?
    Hilfreich wären jetzt eine Beispieltabelle oder eine exakte Beschreibung des Problems.
    Dazu gehörte dann auch:
    Wo stehen die Datumse, wo stehen H und L?
    Wie sieht das gewünschte Ergebnis aus?
    Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort nach Kamp-Lintfort
    Anzeige
    AW: For lngI = DateValue("23.03.2009") To... step -1
    30.06.2009 16:37:29
    Michael
    Danke!
    Schleife ohne Step -1
    30.06.2009 09:33:50
    Erich
    Hallo Michael,
    hier noch zwei Alternativen zum Testen:
    
    Sub DatumRueckwaerts2()
    Dim lngV As Long, lngB As Long
    Dim lngL As Long, lngI As Long
    lngV = DateValue("23.03.2009")
    lngB = DateValue("10.01.2009")
    lngL = Cells(Rows.Count, 1).End(xlUp).Row + 1
    For lngI = 0 To lngV - lngB
    Cells(lngL + lngI, 1) = lngV - lngI
    Next lngI
    Cells(2, 1).Resize(lngV - lngB + 1).NumberFormat = "DD.MM.YYYY"
    End Sub
    Sub DatumRueckwaerts3()
    Dim lngV As Long, lngB As Long
    Dim arrW() As Date, lngI As Long
    lngV = DateValue("23.03.2009")
    lngB = DateValue("10.01.2009")
    ReDim arrW(0 To lngV - lngB)
    For lngI = 0 To lngV - lngB
    arrW(lngI) = lngV - lngI
    Next lngI
    With Cells(2, 1).Resize(UBound(arrW) + 1)
    .Value = Application.Transpose(arrW)
    .NumberFormat = "DD.MM.YYYY"
    End With
    End Sub
    

    Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

    Anzeige
    AW: Schleife ohne Step -1
    30.06.2009 16:34:49
    Michael
    Danke!
    Ich komme auch aus Kamp-Lintfort! Die Welt ist klein! Wenn Du Lust hast schreib mir!
    ms_michael_2002@yahoo.de
    Ich konnte damit ein klein wenig anfangen. Es ist schwierig aus einen Programm wo die Daten nicht so genau aufgelistet sind, eine Fromel zu entwickeln.
    Das größte Probelem sieht so aus!
    
    
  • HS >= REF(HS, -1)and HS >= REF(HS, -2)and HS >= REF(HS, -3)and HS >= REF(HS, -4)

  • Dieses in eine Schleife zu packen, bekomme ich nicht hin! (Hier packe ich alles mit and zusammen)
    Gruß Michael

    Anzeige
    Aufgabenstellung ist unklar
    02.07.2009 10:14:24
    Erich
    Hi Michael,
    mit der Beschreibung
    "soll er von der höchsten HS(Handelsspanne) anfangen und dann die nächsten 3 Tage rot makieren.
    Die HS wird aus dem jeweiligen Tag HS=H-L errechnet."
    lässt sich so kaum etwas anfangen.
    Wo kommen H und L her? Sind das vielleicht Werte aus bestimmten Spalten einer Tabelle?
    Und was ist jetzt REF(HS, -1) ? Das bleibt im Dunkel.
    Frage:
    Die bisherigen Codevorschläge zeigen, wie man Datumse von-bis absteigend in eine Tabelle schreiben kann.
    Ich vermute, das ist bei dir gar nicht nötig, weil diese Datumse schon in der Tabelle stehen, oder?
    Hilfreich wären jetzt eine Beispieltabelle oder eine exakte Beschreibung des Problems.
    Dazu gehörte dann auch:
    Wo stehen die Datumse, wo stehen H und L?
    Wie sieht das gewünschte Ergebnis aus?
    Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort nach Kamp-Lintfort
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige