VBA Len() liefert falsches Ergebnis

.. das wohl mächtigste Werkzeug in Bill Gates' Büro-Sippe. Ob reine Formeln, PowerQuery oder VBA. Hier bleiben kaum Wünsche unerfüllt.
Benutzeravatar
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

#1

Beitrag von d'r Bastler »

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... :roll:

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
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
Benutzeravatar
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

#2

Beitrag von thowe »

Moin allerseits,

Danke für diesen Codeschnippsel.

Eigentlich wollte ich schreiben, ist doch logo..... :roll:

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
Antworten

Wer ist online?

Mitglieder in diesem Forum: Semrush [Bot] und 0 Gäste