Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

5 minus 1 ergibt 0 ?

Forumthread: 5 minus 1 ergibt 0 ?

5 minus 1 ergibt 0 ?
Reinhard
Hallo Wissende,
in der beispielmappe:
https://www.herber.de/bbs/user/66889.xls
geht es um Folgendes. Ich will da jmndm. in einem anderen Forum eine Lösung basteln. Die ist noch gar nicht ganz fertig, aber ich denke ich kriege die Lösung alleine hin und deshlab frage ich hier nicht nach.
Nun hakt es aber kolossal an einer sehr unerwarteten Stelle.
Nachstehend ist der Gesamtcode.
Es kommt Fehler 1004 in der While-Zeile:
Z = ZeiN - 1
While .Cells(Z, 7) .Cells(ZeiN, 7)
ZeiN hat zu dem Zeitpunkt den Wert 5.
Aber Z den Wert 0 in der While-Zeile!?
Ich kann mir das nicht erklären :-(
Danke ^ Gruß
Reinhard
Sub tt()
Dim wksNeu As Worksheet, wksAlt As Worksheet, ZeiA As Long, ZeiN As Long
Dim Z As Long
Set wksAlt = Worksheets("Tabelle1")
Worksheets.Add after:=Worksheets(Worksheets.Count)
Set wksNeu = ActiveSheet
With wksNeu
ZeiA = wksAlt.Cells(Rows.Count, 1).End(xlUp).Row
wksAlt.Range("A1:B" & ZeiA).Copy Destination:=.Range("A1")
wksAlt.Range("C1:E" & ZeiA).Copy Destination:=.Range("D1")
.Range("G2:G" & ZeiA).FormulaLocal = "=A2&Text(B2;""hh:mm"")&D2"
For ZeiN = ZeiA To 3 Step -1
If Application.CountIf(.Columns(7), .Cells(ZeiN, 7)) > 1 Then
Z = ZeiN - 1
While .Cells(Z, 7)  .Cells(ZeiN, 7)
Z = Z - 1
Wend
.Cells(Z, 3) = "o"
End If
Next ZeiN
End With
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Cells(0,7) gibt es nicht.
30.12.2009 14:52:20
Tino
Hallo,
.Cells(Z, 7) --> Z = 0 und .Cells(0,7) gibt es nicht.
Gruß Tino
Ja, aber
30.12.2009 14:55:29
Reinhard
Hallo Tino,
schubs mich mal vom Schlauch bitte :-)
ZeiN hat den Wert 5
dann kommt
Z = ZeiN - 1
While .Cells(Z, 7) .Cells(ZeiN, 7)
Wieso ist da Z 0?
Gruß
Reinhard
AW: Ja, aber
30.12.2009 15:04:18
Tino
Hallo,
in der Schleife machst Du immer wieder
Z = Z - 1
da kommt man irgendwann auf 0 wenn es nicht zuvor abgefangen wird.
Vielleicht funktioniert es mit einer Do Loop Schleife besser.
         Z = ZeiN - 1
Do While .Cells(Z, 7)  .Cells(ZeiN, 7)
Z = Z - 1
If Z = 0 Then Exit Do
Loop
If Z > 0 Then .Cells(Z, 3) = "o"

Gruß Tino
Anzeige
AW: Ja, aber
30.12.2009 16:03:20
Reinhard
Hallo Tino,
danke dir, bin vom Schlauch runter :-)
Gruß
Reinhard
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige