Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Leerzeichen zählen
#1
Hallo liebe Experten der VBA-Kampfkunst,

ich bin mal wieder der Ochse vorm Berg.

Ich habe in einer Spalte A von A1 bis A100 ganz normale Sätze stehen.
Wie üblich werden die einzelnen Wörter in den Sätzen dabei von Leerzeichen getrennt.
Wie kann ich möglichst schnell und einfach alle diese Leerzeichen in den Zellen von A1 bis A100 zählen?

Danke im voraus für eure Hilfe.
Antworten Top
#2
Moin!
Ohne VBA:
=SUMMENPRODUKT(LÄNGE(A1:A100)-LÄNGE(WECHSELN(A1:A100;" ";"")))

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Hallo Lupy,

erst mal die Theorie.
Mit der Funktion LÄNGE ermittelst Du die Satzlänge.
Mit der Funktion WECHSELN kannst Du die Leerzeichen aus einem Satz entfernen.
Wenn Du nun die Originallänge mit der "WECHSEL"-Länge verrechnest, hast Du die Anzahl Leerzeichen. Bekommst Du das so gebacken?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
Hallo und Danke,

aber ich brauche wie immer eine VBA Lösung.
Ich denke es müßte doch irgendeine Funktion geben die so etwas macht.
Gehe ich in Excel auf Suchen und Ersetzen zeigt mir das Programm
von Microsoft sofort an wieviel Stellen ersetzt worden sind.
Daher mein Optimismus auf eine extreme kurze Schnelllösung.
Antworten Top
#5
Was ist an meiner Formellösung, die natürlich auch per VBA rechnen darf, keine "extrem schnelle Kurzlösung"?
Bekommst Du dies nicht umgesetzt?

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
Doch eine solche Umsetzung bekomme ich noch hin,

jedoch möchte ich die ermittelte Leerzeichenanzahl in

weiteren VBA Code einbauen. Hätte natürlich schon

ein paar Ideen wie man so etwas machen könnte.

Stichwort Split Funktion und dann Zeile für Zeile per

Schleife hochzählen. Mich interessiert aber die

effektivste Möglichkeit. Wenn's so eine Funktion

nicht gibt auch Ok. Aber dann schreibt mir das

bitte.
Antworten Top
#7
Hi!
Ist nicht böse gemeint, aber dies ist Killefit und ich nehme Dir die Umsetzung nicht ab.
Zwei Lösungen:
Code:
Sub Quatsch()
MsgBox Evaluate("=SUMPRODUCT(LEN(A1:A100)-LEN(SUBSTITUTE(A1:A100,"" "","""")))")
MsgBox [SUMPRODUCT(LEN(A1:A100)-LEN(SUBSTITUTE(A1:A100," ","")))]
End Sub

Statt MsgBox darfst Du natürlich auch eine Variable füllen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#8
Hallo,

per VBA könnte es so ausehen:


Code:
Sub leerzeichen()
 Dim i As Long, lngAnzahl As Long
 
 For i = 1 To 100
   If Cells(i, 1) <> "" Then lngAnzahl = lngAnzahl + UBound(Split(Cells(i, 1)))
 Next i
 MsgBox lngAnzahl
End Sub
Gruß Atilla
Antworten Top
#9
(03.01.2017, 17:14)atilla schrieb: per VBA könnte es so ausehen:
Sorry, aber chinesisch hatte ich doch auch nicht geschrieben.  :21:
Bei 100 Zellen sicherlich egal, aber bei größeren Bereichen?
Aber gut, ich teste mal …
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#10
Hallo Ralf,

was ist schlimm daran, mehrere Möglichkeiten aufgezeigt zu bekommen?

Wenn ich VBA einsetze, dann würde ich persönlich meinen Weg gehen.
Gruß Atilla
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste