Moin allerseits,
man nehme einen Wert as Long, wie z.B. iNum = 123456789 und versuche mit Debug.Print Len(iNum) die Länge des Werts zu ermitteln. Ergebnis = 4. Huch!? Tatsächlich liefert Len() erst einmal die Anzahl der Bytes für Long und egal wie lang der Wert tatsächlich ist, kommt immer 4 heraus.
Erst wenn man den Wert per Len(CStr(iNum)) umwandelt, erhält man das erwartete Ergebnis 9. Was war ich der Verzweiflung nahe, bis ich mal die Hilfe genauer gelesen habe...
Achtung Premiere! Um der etwas traurigen Suchfunktion der Forumssoftware etwas auf die Sprünge zu helfen, markiere ich Schlagworte künftig mit einer führenden Raute. Hier also: #Len(), #LÄNGE(). Ohne den Tag würde die Suchfunktion zu viele Ergebnisse finden.
Freu' mich, wenn andere das System (das ich natürlich noch entsprechende promoten werde) mitmachen. DANKE DAFÜR!
Grüße
VBA Len() liefert falsches Ergebnis
- d'r Bastler
- Beiträge: 683
- Registriert: 29. Aug 2022, 13:20
- Hat sich bedankt: 177 Mal
- Danksagung erhalten: 91 Mal
VBA Len() liefert falsches Ergebnis
- Folgende Benutzer bedankten sich beim Autor d'r Bastler für den Beitrag:
- thowe
d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 & Win11 + Office 2021 + Visio 2019 pro & macOS.X15 + Office2019pro & Android12 & XL365
Win 10 + Office 2019 & Win11 + Office 2021 + Visio 2019 pro & macOS.X15 + Office2019pro & Android12 & XL365
- thowe
- Beiträge: 209
- Registriert: 12. Sep 2022, 16:57
- Hat sich bedankt: 79 Mal
- Danksagung erhalten: 67 Mal
- Kontaktdaten:
Re: VBA Len() liefert falsches Ergebnis
Moin allerseits,
Danke für diesen Codeschnippsel.
Eigentlich wollte ich schreiben, ist doch logo.....
Deine Variable ist kein String, daher vorher umwandeln mit CStr(). Jedoch habe ich dann hier nachgesehen: https://learn.microsoft.com/de-de/offic ... n-function und da geht nicht eindeutig hervor, wann Anzahl, wann erforderliche Bytes zurückgegeben werden.
Danke für deinen Beitrag.
LG
Danke für diesen Codeschnippsel.
Eigentlich wollte ich schreiben, ist doch logo.....
Deine Variable ist kein String, daher vorher umwandeln mit CStr(). Jedoch habe ich dann hier nachgesehen: https://learn.microsoft.com/de-de/offic ... n-function und da geht nicht eindeutig hervor, wann Anzahl, wann erforderliche Bytes zurückgegeben werden.
Danke für deinen Beitrag.
LG
Wer ist online?
Mitglieder in diesem Forum: Semrush [Bot] und 0 Gäste