Anzeige
Archiv - Navigation
1304to1308
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

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ß

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.

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

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!

? 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

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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige