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

falsch gezählt?

Forumthread: falsch gezählt?

falsch gezählt?
21.03.2013 12:29:24
Moni
Ich brauche Hilfe von euch,
Ich habe mir eine Kontrolltabelle gebaut, in der Nullen und XXX in der 2. Spalte stehen, wobei die XXX ausgeblendet sind (Gruppiert). Jetzt lasse ich über eine Schleife die XXX zählen. In dem Testbereich sollte er auf 15 kommen, spuckt aber nur 1 aus. Wo ist mein Denkfehler?
Sub Zaehlen()
Dim i As Integer, k As Integer
k = 0
For i = 1 To 211
If ActiveSheet.Cells(i, 2).Value = "XXX" Then
k = k + 1
Else
i = i + 1
End If
Next
MsgBox k
End Sub
Gruß

Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: falsch gezählt?
21.03.2013 12:45:44
Klaus
Hi Moni,
schmeiss diese Zeile raus:
i = i + 1
(die erhöht den Schleifenzähler innerhalb der Schleife! Durch FOR-NEXT läuft i doch von alleine durch).
Deine Aufgabenbeschreibung schreit aber nach etwas anderem. Wenn du NUR die XXX zählen willst, reicht eine Zeile:
Sub Zaehlen()
msgbox application.worksheetfunction.countif(range(cells(1,1),cells(211,1)),"XXX")
End Sub
Grüße,
Klaus M.vdT.

Anzeige
AW: falsch gezählt?
21.03.2013 12:48:15
Uwe
Hallo Moni,
lasse das:
Else
i = i + 1
mal weg.
Das weiterzählen von i übernimmt schon die For i = 1 To 211 Anweisung.
Wenn Du i in der Schleife nochmal hochzählst, dann geht es immmer in 2er-Sprüngen weiter, also 1-3-5-7 usw.
Gruß
Uwe
(:o)

Anzeige
AW: falsch gezählt?
21.03.2013 12:48:54
selli
hallo moni,
zähler i hat in der bedingung nichts verloren.
Sub Zaehlen()
Dim i As Integer, k As Integer
k = 0
For i = 1 To 211
If ActiveSheet.Cells(i, 2).Value = "XXX" Then
k = k + 1
End If
Next
i = i + 1
MsgBox k
End Sub
gruß
selli

Anzeige
auch noch falsch korrigiert...
21.03.2013 12:50:14
selli

Sub Zaehlen()
Dim i As Integer, k As Integer
k = 0
For i = 1 To 211
If ActiveSheet.Cells(i, 2).Value = "XXX" Then
k = k + 1
End If
Next i
MsgBox k
End Sub

AW: falsch gezählt?
21.03.2013 13:11:57
UweD
Hallo
du brauchst keine Schleife.
MsgBox Application.CountIf([B1:B211], "XXX")
reicht aus
Gruß UweD

Anzeige
Hehe, langsam heute Uwe?
21.03.2013 13:17:48
Klaus
Hi Uwe,
hast du 26 minuten gebraucht um das zu entwickeln und zu tippen? :-)
Grüße,
Klaus M.vdT.

56k modem :-)
21.03.2013 13:39:00
selli
gruß
selli

AW: 56k modem :-)
21.03.2013 14:10:37
Moni
Danke! Ihr habt mir alle sehr geholfen!
Grüße!

Anzeige
? gibt es mitlerweile schnellere ? ;-)
21.03.2013 14:18:06
UweD
..

Klar : "Breitbandtrommeln" .-) owT
21.03.2013 14:51:10
Matze

AW: 56k modem :-)
21.03.2013 15:20:46
UweD

Anzeige
Uwe , : Gnade,.... brutal !! :-)) owT
21.03.2013 15:24:51
Matze

AW: 56k modem :-)
21.03.2013 15:27:20
selli
...ist doch bestimmt nicht windows7 kompatibel.
kann man allenfalls noch erdnüsse reintun.
gruß
selli

? was ist windows? MS-DOS 5.0 !! owt
22.03.2013 09:24:28
UweD
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18