Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
276to280
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
276to280
276to280
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

zeichen zählen

zeichen zählen
11.07.2003 09:03:19
uwe
hallo leute, nike und so!
auf meine frage nach dem zählen eines zeichens, egal ob mehrmals in einer zelle oder nur einzeln, habt ihr mir diesen code geschickt:

Sub CharCount()
Dim intStep As Integer
Dim strZelle As String
Dim strSuch As String
Dim intFind As Integer
If ActiveCell.Value = "" Then
MsgBox "Leere Zelle"
Exit Sub
End If
intStep = 0
strZelle = ActiveCell.Value
strSuch = InputBox("Suchzeichen eingeben", "Suchzeichen", "x")
If strSuch = "" Then
MsgBox "Leerer Suchbegriff"
Exit Sub
End If
Do Until InStr(1, strZelle, strSuch) = 0
intFind = intFind + 1
If InStr(1, strZelle, strSuch) = 0 Then
Exit Do
End If
strZelle = Right(strZelle, Len(strZelle) - InStr(1, strZelle, strSuch))
Loop
MsgBox intFind & " mal gefunden"
End Sub

da ich eine echte programmier0 bin... wie muß ich den code verändern, wenn ich die anzahl der "x"e im bereich b5:c27 (z.b.) ermitteln will?
uwe

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zeichen zählen
11.07.2003 10:48:10
KViertel
Hallo Uwe,
so sollte es funktionieren

Sub CharCount()
Dim intStep As Integer
Dim strZelle As String
Dim strSuch As String
Dim intFind As Integer
'Zu durchsuchenden Bereich markieren
Range("b5:c27").Select
intStep = 0
strSuch = InputBox("Suchzeichen eingeben", "Suchzeichen", "x")
If strSuch = "" Then
MsgBox "Leerer Suchbegriff"
Exit Sub
End If
'sollte der Buchstabe feststehen der gesucht wird, dann werden z.B. strSuch = "x" 'eingesetzt und die vorherigen 5 Zeilen weggelassen
For Each x In Selection
strZelle = x.Value
intwert = 1
Do Until InStr(intwert, strZelle, strSuch) = 0
intFind = intFind + 1
strZelle = Right(strZelle, Len(strZelle) - InStr(1, strZelle, strSuch))
intwert = Len(strZelle)
Loop
Next
MsgBox intFind & " mal gefunden"
End Sub

MfG. Klaus

Anzeige
AW: zeichen zählen
11.07.2003 12:12:09
uwe
jo danke, werd's probiern.
uwe

AW: zeichen zählen
11.07.2003 10:04:03
Nike
Hi Uwe,
ich weiß nicht, ob du dir mal Deine
älteren Postings nochmal durchgelesen hast
und dir dabei vielleicht aufgefallen ist,
das Dein Vorgehen nicht so prickelnd ist...
Da ich das nicht fördern möchte,
werde ich mich in blumenhafter Bescheidenheit
zurückhalten.
Bye
Nike

AW: zeichen zählen
11.07.2003 10:40:18
uwe
hallo nike,
das erste mal versteh ich ja noch, vordrängeln und so... dieses mal hab ich gedacht, da mein "posting" schon 2 tage her ist, wird's im archiv landen, sollte ich besser n neues anfangen. hab doch keine ahnung wer hier woher auf was antwortet, und wann so n posting mal in vergessenheit gerät, bei diesen vielen 1000 fragestellern.
uwe

Anzeige
AW: zeichen zählen
11.07.2003 10:40:15
uwe
hallo nike,
das erste mal versteh ich ja noch, vordrängeln und so... dieses mal hab ich gedacht, da mein "posting" schon 2 tage her ist, wird's im archiv landen, sollte ich besser n neues anfangen. hab doch keine ahnung wer hier woher auf was antwortet, und wann so n posting mal in vergessenheit gerät, bei diesen vielen 1000 fragestellern.
uwe

AW: zeichen zählen
11.07.2003 10:47:19
Nike
Hi,
dieses Mal war auch mehr darauf bezogen,
das du dich z.B. auch gar nicht zu den anderen Postings
geäußert hast. Da haben sich ein paar echte Könner geäußert
(die noch um einiges mehr drauf haben, als ich)
und das hast du komplett ignoriert,
warum also sollte ich mich da noch weiter beteiligen?
Bye
Nike

Anzeige
AW: zeichen zählen
11.07.2003 11:05:02
uwe
hallo nike,
naja, ich schau mir an, was geantwortet wird... da mir das bisher alles zu kompliziert war, hab ich mich doch auch geäußert, indem ich (fälschlicherweise) in nem neuen posting genau das gesagt hab (programmier0) und um weitere hilfe gebeten hab. oder muß man hier auf jeden beitrag noch mal n satz schreiben?
uwe

AW: zeichen zählen
11.07.2003 11:37:40
Nike
Hi,
man muss auf keine Beiträge antworten.
Das gilt aber für die Fragenden, wie die Antworter.
Hat sich jetzt einer mal die Mühe gemacht sich mit Deinem
Problem auseinander zu setzen, fänd ich es nur fair sich als
Fragenstelle sich auch die Mühe zu geben etwas Feedback zu posten,
so kann man dem Antworter signalisieren:
1 ich hab mich mit deinem Lösungsvorschlag auseinandergesetzt,
2 find ihn brauchbar(danke) oder nicht und wenn nicht,
warum nicht, was meist eine Rückfrage zur Folge hat ;-)
Das mit dem "zu kompliziert" is so ne Sache,
manche Lösungen sind halt kompliziert,
auch wenn das Problem doch sooo einfach ist ;-)
Um so netter eigentlich vom Antwortenden,
das er sich die Mühe gemacht hat, sich so was auzudenken...
Naja, wohl einfach mal ein Denkanstoß...
Bye
Nike

Anzeige
AW: zeichen zählen
11.07.2003 11:50:51
uwe
ok. hab's kapiert.
... und wie schaut's nun mit dem code aus? oder hab ich's erst ma verschissen bei euch?
uwe

AW: zeichen zählen
11.07.2003 11:55:33
Nike
Hi,
nö, verschissen hast du's nicht,
ich wollte dir nur sagen, warum ich mich zurück halte.
Klaus hat sich doch schon längst erbarmt ;-)
https://www.herber.de/forum/messages/279715.html
Bye
Nike

AW: zeichen zählen
11.07.2003 12:31:40
uwe
hab klaus' code eingegeben:

Sub CharCount()
Dim intStep As Integer
Dim strZelle As String
Dim strSuch As String
Dim intFind As Integer
'Zu durchsuchenden Bereich markieren
Range("b5:c27").Select
intStep = 0
strSuch = InputBox("Suchzeichen eingeben", "Suchzeichen", "x")
If strSuch = "" Then
MsgBox "Leerer Suchbegriff"
Exit Sub
End If
'sollte der Buchstabe feststehen der gesucht wird, dann werden z.B. strSuch = "x" 'eingesetzt und die vorherigen 5 Zeilen weggelassen
For Each x In Selection
strZelle = x.Value
intwert = 1
Do Until InStr(intwert, strZelle, strSuch) = 0
intFind = intFind + 1
strZelle = Right(strZelle, Len(strZelle) - InStr(1, strZelle, strSuch))
intwert = Len(strZelle)
Loop
Next
MsgBox intFind & " mal gefunden"
End Sub

wenn ich jetzt aber in irgendeine zelle darauf verweise (=CharCount()), wird nur #NAME? gezeigt. wahrscheinlich geht das alles ganz anders mit der verknüpfung.
uwe

Anzeige
AW: zeichen zählen
11.07.2003 13:11:31
Nike
Hi,
das ist keine Funktion, sondern eine Prozedur,
also über das Menü Extras/Makro/Makros...
Das Makro CharCount aufrufen und ausführen.
Bye
Nike

AW: zeichen zählen
11.07.2003 14:19:04
uwe
ok. hab's ausführen lassen, meldet aber laufzeitfehler '5' und bemängelt zeile "Do Until InStr..."

Sub CharCount()
Dim intStep As Integer
Dim strZelle As String
Dim strSuch As String
Dim intFind As Integer
'Zu durchsuchenden Bereich markieren
Range("S15:U15").Select
intStep = 0
strSuch = "x"
'sollte der Buchstabe feststehen der gesucht wird, dann werden z.B. strSuch = "x" 'eingesetzt und die vorherigen 5 Zeilen weggelassen
For Each x In Selection
strZelle = x.Value
intwert = 1
Do Until InStr(intwert, strZelle, strSuch) = 0
intFind = intFind + 1
strZelle = Right(strZelle, Len(strZelle) - InStr(1, strZelle, strSuch))
intwert = Len(strZelle)
Loop
Next
MsgBox intFind & " mal gefunden"
End Sub

... und wenn ich dann ein ergebnis erhalte, wie kann ichs in einer zelle erscheinen lassen?
uwe

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige