2009-11-12 3 views
7

Lassen Sie uns sagen, ich habe diese Variable:Welcher Befehl in VBA kann die Anzahl der Zeichen in einer String-Variablen zählen?

Wort = „Gewohnheit“

, die in VBA-Befehl ermöglicht es mir, wie viele Zeichen gibt es in dieser Variablen sind zu zählen (in meinem Fall ist es 5).

Wichtig: Die Variable "Wort" enthält nur ein Wort, keine Leerzeichen, darf aber Zahlen und Bindestriche enthalten.

+2

von "Zeichen", meinst du Buchstaben nur? Technisch gesehen kann eine String-Variable Ziffern, Bindestriche, Satzzeichen usw. enthalten. das sind immer noch "Charaktere". Deine Frage ist sehr schlecht formuliert. Bitte bearbeiten und präzisieren Sie genau, was Sie erreichen möchten. –

+4

Ich verstehe, dass die Frage des Autors mit Mehrdeutigkeit gefüllt ist. Ich erinnere mich jedoch, wie es sich anfühlt, nicht einmal die Terminologie zu kennen, um überhaupt anfangen zu können, eine Frage zu stellen. Vielleicht bedeutet "Variable" "String" und "Anzahl der Zeichen" die Länge der Zeichenfolge. Ich erinnere mich, wie es sich anfühlte, verwirrt zu sein, um zu erfahren, dass Zeichenfolgen und Dateien eine "Länge" hatten und nicht "Anzahl der Zeichen" oder "Dateigröße". Hoffentlich hat der Autor einige neue Begriffe aus seinem Post gelernt :) –

+1

bmccormark, du hast absolut recht. Ich habe gerade gelernt, dass Leerzeichen, neue Zeilen, Zeilenumbrüche und Tabs auch als Zeichen betrachtet werden! Das ist etwas, das so sehr gegen mein natürliches Verständnis geht! :) – brilliant

Antwort

18

Haben Sie die Anzahl der Zeichen in einem String bedeuten zählen? Das ist ganz einfach

Dim strWord As String 
Dim lngNumberOfCharacters as Long 

strWord = "habit" 
lngNumberOfCharacters = Len(strWord) 
Debug.Print lngNumberOfCharacters 
9
Len(word) 

Obwohl das ist nicht das, was Ihre Frage Titel fragt =)

8

Len ist das, was Sie wollen.

word = "habit" 
length = Len(word) 
6

die Funktion Len Verwenden

length = Len(myString) 
0

Try this:

word = "habit" 
findchar = 'b" 
replacechar = "" 
charactercount = len(word) - len(replace(word,findchar,replacechar)) 
+0

Eine kurze Erklärung würde diese Antwort verbessern. –