Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Maximale Länge eines Strings

Maximale Länge eines Strings
21.02.2007 22:22:00
Ich
Hi,
hab einen String-Array:
Dim arr(3) as String
arr(0) = "String 1"
arr(1) = "String 2"
arr(2) = "String 3"
Wieviel Zeichen darf z.B. String 1 max. haben?
ff Ich
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Maximale Länge eines Strings
21.02.2007 22:43:00
Ramses
Hallo
Also 1011 Zeichen, wenn ich das bei mir probiere, weil meine Variablenbezeichnung mit sonstigen Zeichen das Limit von 1024 Zeichen pro Zeile sprengt :-)

Sub test()
Dim arr(3) As String
Dim strTest As String
strTest = "1011 * x"
arr(1) = strTest
Debug.Print arr(1)
End Sub

Gruss Rainer
Anzeige
AW: Maximale Länge eines Strings
21.02.2007 22:58:52
Ich
Hi,
dein Code ist ein Scherz, oder?

Sub test()
Dim arr(3) As String
Dim strTest As String
strTest = String(64000, "i")
arr(1) = strTest
Debug.Print arr(1)
End Sub

geht problemlos aber ist nicht praxistauglich.
ff Ich
AW: Maximale Länge eines Strings
21.02.2007 23:08:00
Ramses
Hallo
"...dein Code ist ein Scherz, ..."
Nein,... oder hätte ich 1011 mal das "m" schreiben sollen :-)
Denn Strings werden gewöhnlich nicht mit "String(64000, "i")" übergeben
"...das Limit von 1024 Zeichen pro Zeile sprengt ..:"
Sollte dir einen sehr diskreten Hinweis auf das Limit geben !!!!
"...geht problemlos aber ist nicht praxistauglich...."
Na und nun,... was soll uns das sagen ?
Was erwartest du denn ?
Gruss Rainer
Anzeige
AW: Maximale Länge eines Strings
21.02.2007 23:08:26
Axel
Also bei mir heangt das davon ab wann der Prozessor glueht.....
Global myString As String

Sub test()
Dim myarray(1) As String ' Variant
y = 164000  'oder noch mehr..... :-)
For i = 1 To y
myString = myString & "x"
Next i
myarray(1) = myString
End Sub

Gruss,
Axel
Anzeige
AW: Maximale Länge eines Strings
21.02.2007 23:16:37
Ramses
Hallo
Das weiss ich auch :-)
Lest ihr eigentlich was ich geschrieben habe ?
Da sind viel zu viele Limitationen im Raum als dass diese Frage genau beantwortet werden könnte.
Was nutzt mir z.B.
- ein String mit 50000 zeichen wenn die Zelle nur 3000 Zeichen oder sonst was aufnehmen kann,
- Beim Kopiervorgang mit 1024 zeichen das Limit erreicht wird
- Beim Kopiervorgang von Sheets der Zellinhalt bei 255 Zeichen abgeschnitten wird und der Rest der zelle im Nirwana verschwindet
- wenn das empfangende Element/Object nicht ausreichend dimensioniert ist / werden kann
- das theoretische Limit eines String-Datentyps bei 2^31-1 Zeichen liegt
- und, und, und....
Gruss Rainer
Gruss Rainer
Anzeige
AW: Maximale Länge eines Strings
21.02.2007 23:24:37
Axel
Ich wuerde sagen Du hast Deine Frage selber beantwortet. das haengt ab, was Du mit Deinem "Megastring" machen willst:
-> zum Schlachter wenn Du ihn in Zellen oder sonst wo zeigen willst (Excel 2007 bringt Hoffnung....
-> oder schoen in einer Variablen eingepackt lassen und sich freuen, dass er so Mega ist....
:-)
mmmmh auch nicht sehr hilfreich mein Kommentar...
Gruss,
Axel
Anzeige
AW: Maximale Länge eines Strings
21.02.2007 23:54:00
MichaV
Hallo,
ganz kurzer Blick in die Hilfe:
String-Datentyp
Es gibt zwei Arten von Zeichenfolgen: Zeichenfolgen variabler Länge und Zeichenfolgen fester Länge.
Zeichenfolgen variabler Länge können bis zu 2 Milliarden (oder 2^31) Zeichen enthalten.

....das sind genau 2GB an Zeichen. Kann man z.B. gebrauchen, um Dateien auf einen Schlag einzulesen. Ramses weiß, wie das geht ;o) Schönen Gruß!
Gruß- Micha
PS: Rückmeldung wäre nett.
PPS: seit wann gibts denn hier dieses gewöhnungsbedürftige Layout?
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Maximale Länge eines Strings in Excel VBA


Schritt-für-Schritt-Anleitung

Um die maximale Länge eines Strings in Excel VBA zu ermitteln, kannst du folgende Schritte befolgen:

  1. Variablen deklarieren: Lege eine String-Variable an.

    Dim myString As String
  2. String zuweisen: Weise der String-Variable einen Wert zu.

    myString = "Dein Text hier"
  3. Länge ermitteln: Verwende die Len-Funktion, um die Länge des Strings zu ermitteln.

    MsgBox Len(myString)
  4. Maximale Länge prüfen: Berücksichtige die Limits von Excel und VBA. Ein String kann theoretisch bis zu 2^31-1 Zeichen haben, allerdings gibt es praktische Einschränkungen in Excel (z.B. Zellinhalt).


Häufige Fehler und Lösungen

  • Fehler: String übersteigt maximale Länge

    • Lösung: Achte darauf, dass der Zellinhalt maximale 32.767 Zeichen in einer Zelle beträgt. Verwende gegebenenfalls mehrere Zellen, um den Text aufzuteilen.
  • Fehler: Zeichen werden abgeschnitten

    • Lösung: Wenn du einen String in ein Excel-Arbeitsblatt kopierst, beachte, dass nur 255 Zeichen pro Zelle eingefügt werden können. Überprüfe die Verwendung von Arrays und deren Dimensionierung.

Alternative Methoden

Es gibt verschiedene Ansätze, um mit Strings in VBA umzugehen:

  1. Verwendung von Arrays: Du kannst Strings in Arrays speichern, um die vba string maximale länge besser zu verwalten.

    Dim strArray(3) As String
    strArray(0) = "Beispiel 1"
  2. String-Konkatenation: Um große Textmengen zu erstellen, nutze Schleifen:

    Dim bigString As String
    For i = 1 To 10000
       bigString = bigString & "Text"
    Next i
  3. Dynamische Arrays: Verwende ReDim zur Anpassung der Array-Größe:

    ReDim strArray(0 To 10000) As String

Praktische Beispiele

Hier sind einige Beispiele zur Veranschaulichung der vba string länge:

  • Beispiel 1: Zeichen zählen

    Sub CountCharacters()
       Dim text As String
       text = "Hallo Welt"
       MsgBox "Anzahl der Zeichen: " & Len(text)
    End Sub
  • Beispiel 2: String in Zelle eingeben

    Sub InsertStringInCell()
       Dim longText As String
       longText = String(32000, "A")
       Range("A1").Value = longText ' Beachtet die maximale Zellgröße
    End Sub

Tipps für Profis

  • Verwende String-Funktionen: Nutze Funktionen wie Left, Right und Mid, um Teile eines Strings zu extrahieren.
  • Lege eine Maximalgröße fest: Definiere eine Konstante für die maximale Größe eines Strings in deinem Code, um Fehler zu vermeiden.
  • Optimierung der Leistung: Bei großen Datenmengen kann die Verwendung von StringBuilder in anderen Programmiersprachen wie C# effizienter sein.

FAQ: Häufige Fragen

1. Was ist die maximale Länge eines Strings in Excel VBA?
Die maximale Länge eines Strings in VBA kann bis zu 2^31-1 (ca. 2 Milliarden Zeichen) betragen, jedoch unterliegen die Zellen in Excel anderen Einschränkungen.

2. Warum wird mein String in Excel abgeschnitten?
Strings, die in Zellen eingefügt werden, sind auf 32.767 Zeichen pro Zelle begrenzt. Wenn du über 255 Zeichen kopierst, kann es zu Verlusten kommen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige