Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
456to460
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
456to460
456to460
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schleifen mit Bedingungen

Schleifen mit Bedingungen
21.07.2004 08:53:52
Claudi
Hallo,
ich hoffe es kann mir jemand weiter helfen.
Ich möchte in einem Excelsheet Spalten abgreifen, diese sollen solange abgegriffen werden, bis entweder nichts mehr in der nächsten zelle steht bzw. ein Null darin steht.
Gleichzeitig muss aber der Index mitlaufen.
Bisher habe ich das Problem folgender Maßen gelöst, was leider nicht richtig funktioniert:
For i = 14 To rechtsAnzahl1 + 14 Step 2
If WS7.Cells(k, i) 0 Then

Monat = WS7.Cells(k, i)
Tag = WS7.Cells(k, i + 1)
WS8.Cells(k + 1, i - 8) = CDate((WS8.Cells((k + 1), m).Value & "." &
WS7.Cells(k, i).Value & "." & WS7.Cells(k, i + 1).Value))

End If
Next i
Claudi

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

Betreff
Datum
Anwender
Anzeige
AW: Schleifen mit Bedingungen
21.07.2004 08:58:54
Harald
Hallo Claudi,
was funktioniert denn nicht, bzw. wie soll das Ergebnis denn aussehen?
Gruß Harald
AW: Schleifen mit Bedingungen
21.07.2004 09:12:46
Claudi
Er soll nur solange durch gehen durch die Daten wie welche vorhanden sind und das ist unterschiedlich:
er hat z.B.:
2005 14 8
2006 11 7
2007 22 2 23 8
Also so sieht das jetzt im Excelsheet aus und er soll diese Daten zu einem Datum zusammenfügen und das von heute bis zu dem letzten Jahr was angegeben ist.
Also beim ersten Beispiel sollte es so aussehen wenn es fertig ist:
14.08.2004 14.08.2005
11.07.2004 11.07.2005 11.07.2006
23.08.2004 22.02.2005 23.08.2005 22.02.2006 23.08.2006 22.02.2007 23.08.2007
Also so soll dann anschließend das Ergebnis aussehen.
Claudi
Anzeige
AW: Schleifen mit Bedingungen
21.07.2004 09:19:51
Harald
Hallo Claudi,
können es auch mehr als zwei Tage sein (ist. z.B. 2007 22 2 23 8 15 11 24 12 zulässig)?
Gruß Harald
AW: Schleifen mit Bedingungen
21.07.2004 09:38:11
Claudi
Ja es können auch mehr als 2 tage sein
AW: Schleifen mit Bedingungen
21.07.2004 10:04:30
Harald
Hallo Claudi,
sorry, hat etwas gedauert, auch Dein Problem zu verstehen.
Ich gebe Dir mal folgendes Gerüst an die Hand:
Option Explicit
Option Base 1 ' Felder fangen bei 1 an - Abweichung vom Default!

Sub test()
Dim WS7, WS8 As Worksheet
Dim zeile, spalte As Integer
Const Maxtage = 10 ' hier max. Anzahl von zus. Tagen definieren
Const ErsteSpalte = 1
Dim Anfangsjahr, EndJahr, Tag, Jahr As Integer
Dim Monate(Maxtage) As Integer ' Liste der Monate rechts vom Jahr
Dim Tage(Maxtage) As Integer ' Liste der Tage rechts vom Jahr
Dim AnzahlTage As Integer
Set WS7 = Worksheets("Tabelle1")
Set WS8 = Worksheets("Tabelle2")
Anfangsjahr = Year(Date) ' Jahr des heutigen Datums
For zeile = 1 To 3
' Erster Durchlauf: Finde alle zusätzlichen Tage in der Zeile
AnzahlTage = 0
EndJahr = WS7.Cells(zeile, 1) ' Endjahr in Spalte 1
For spalte = ErsteSpalte + 1 To ErsteSpalte + 1 + Maxtage Step 2
If WS7.Cells(zeile, spalte) <> 0 Then 'noch ein Tag in der Liste
AnzahlTage = AnzahlTage + 1 ' 1 Tag dazugekommen
Tage(AnzahlTage) = WS7.Cells(zeile, spalte) ' Spalte=Tag
Monate(AnzahlTage) = WS7.Cells(zeile, spalte + 1) ' Spalte+1 = Monat
End If
Next spalte
' Zweiter Durchlauf: konstruiere Ergebnis
spalte = 1
For Jahr = Anfangsjahr To EndJahr
For Tag = 1 To AnzahlTage
WS8.Cells(zeile, spalte) = DateSerial(Jahr, Monate(Tag), Tage(Tag))
spalte = spalte + 1
Next Tag
Next Jahr
Next zeile
End Sub

Gruß Harald
Anzeige
P.S.:
21.07.2004 10:08:36
Harald
Mein Beispielcode geht davon aus, dass die Quellwerte in "Tabelle1", Zeilen 1-3, Spalten 1-21 stehen. Da kanst Du durch Anpassen der Konstanten im Kopf leicht ändern.
Gruß Harald
Danke
21.07.2004 10:25:18
Claudi
Dank dir ich werd das gleich mal probieren.
Claudi
AW: Danke
21.07.2004 16:05:33
Claudi
Hallo Harald,
danke es funktioniert echt prima, bin begeistert!!!
Gruß Claudi

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige