Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1168to1172
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

als Zähler verwenden

als Zähler verwenden
Lorenz
Hallo VBAler
Ich möchte zur weiteren Verwendung untenstehendes Codeschnipsel als Zähler verwenden. Genaugenommen würde ich nur die Anzahl v. boAkzept von "1" (True) benötigen. Hoffe es ist verständlich was ich brauche
boAkzept = boAkzept Or (Left(stext, 2) = "1 "
If boAkzept Then ActiveSheet.Cells(loZeile, 1) = sText
Gruß
Lorenz

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
lngAkzept=lngAkzept-(Left(stext, 2) = "1 ")
06.08.2010 23:13:41
NoNet
Hallo Lorenz,
eine Boole'sche Variable kann nur die Werte TRUE oder FALSE annehmen und ist daher als "Zählvariable" ungeeignet.
Verwende stattdessen eine Variable vom Typ LONG :
Dim lngAkzept as Long
lngAkzept=lngAkzept - (Left(stext, 2) = "1 ")
Da TRUE den Wert -1 hat, muss dieser Wert subtrahiert werden, um eine positive Zählervariable zu erhalten.
Alternativ würde auch das funktionieren :
lngAkzept=lngAkzept + Abs(Left(stext, 2) = "1 ")
Gruß, NoNet
Anzeige
AW: lngAkzept=lngAkzept-(Left(stext, 2) = "1 ")
06.08.2010 23:34:39
Lorenz
Hallo NoNet
Habe die "Alternative" gewählt... in meinen Code eingebaut.....getestet....funktioniert....fertig!
Danke das war`s
Danke & Gruß, Lorenz
Bahnhof ...
06.08.2010 23:19:06
Matthias
Hallo
Hoffe es ist verständlich was ich brauche
Nein, für mich nicht verständlich.
aber ich rate einfach mal
Benutze eine als Public deklarierte Variable (in einem Modul)
z.B
Modul1
Option Explicit
Public myzaehler As Long

Immer wenn nun boAkzept True ist zähle die Variable um einen Zähler hoch
If boAkzept =True then myzaehler=myzaehler+1
Gruß Matthias
Anzeige
AW: Bahnhof ...
06.08.2010 23:48:39
Lorenz
Hallo Matthias
Da hast du aber exzellent geraten.
Ebenfalls wie TIPP von NoNet... in meinen Code eingebaut.....getestet....funktioniert....fertig!
PS.: werde "deinen" Code verwenden, da er ohne Änderung genau das liefert was ich brauche.
Danke & Grüße, Lorenz
Das fkt aber nur, wenn das bloß beim 1.True...
07.08.2010 16:27:12
Luc:-?
…geschieht, danach ist boAkzept immer True bis alles eingelesen ist, egal, ob dann noch weitere "1 " am Satzanfang auftauchen, Lorenz. Wenn es sich aber um mehrere Textblöcke handeln sollte, kannst du ja auch die zählen. Falls nicht und du wirklich das Auftreten von "1 " am Satzanfang in einem Textblock zählen willst, verwende besser einen zusätzlichen Zähler…
If Left(stext, 2) = "1 " Then boAkzept = True: ctSatz1 = ctSatz1 + 1 oder…
If Left(stext, 2) = "1 " Then ctSatz1 = ctSatz1 + 1
If CBool(ctSatz1) Then…
→ boAkzept kann hier entfallen; ctSatz1 ist Long!
Gruß Luc :-?
Anzeige
AW: Das fkt aber nur, wenn das bloß beim 1.True...
07.08.2010 17:57:51
Lorenz
Hallo Luc :-?
Ein weiteres auftauchen von "1 " ist in meinem Fall wie ich es verwende nicht mehr notwendig, da ich nur die Zeilenanzahl bis zum 1. auftauchen der "1 " benötige. Danke aber trotzdem für die Weiter verwertbaren Tipps.
Danke & Grüsse, Lorenz
Aha! Hatte ich falsch 'rum verstanden! orT
10.08.2010 16:38:30
Luc:-?
Gruß Luc :-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige