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

falsch gezählt?

Forumthread: falsch gezählt?

falsch gezählt?
21.03.2013 11: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 11: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 11: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 11: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 11: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 12: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 12: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 12:39:00
selli
gruß
selli

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

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

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

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

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

AW: 56k modem :-)
21.03.2013 14: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 08:24:28
UweD
Anzeige
;

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