Bei der Erstellung eines VBA-Programms in Excel stieß ich auf eine Einschränkung, die nirgendwo dokumentiert ist (die ich bisher gefunden habe).Speicherzuordnung Kuriosität mit bestimmten Sonderzeichen
Das Zelleninhaltlimit ist bei 0-32767 Zeichen dokumentiert, aber für die Zeichen "@", "-", "+" und "=" kann ich kein VBA-Skript schreiben, um diese Zeichen zu einer Zelle nach 8192 hinzuzufügen Zeichen, die seltsam genug 1/4 von 32768 ist.
Während des Debuggens habe ich ein separates Skript erstellt, um dies zu versuchen, andere Probleme zu vermeiden, die mein Programm hinsichtlich der Speicherzuweisung präsentierte.
Function Insert()
For i = 1 To 8199
Range("J13") = Range("J13") & "@"
Next
End Function
Das Programm verknüpft „@“ in der Zelle bis zu (einschließlich) 8192 und dann stoppt mit einem „Laufzeitfehler 7 Nicht genügend Speicher“ Fehler. Es scheint keine Zellbeschränkung zu sein, da ich manuell weitere Symbole in die Zelle eingeben kann, sobald das Programm angehalten hat.
ich auch versucht haben, die manuelle Eingabe über 1000 Symbole, bevor ich das Programm zu starten, aber es hält immer noch an 8192
Dieses Problem tritt nicht auf, wenn sie auf einem in voller Größe keine Sonderzeichen Standard mit Standard-US-Format Tastatur (außer den 4, die ich aufgeführt habe).
Ich nahm an, dass dies aufgrund der Zeichencodierung und der entsprechenden Speicheranforderungen dieser Zeichen sein konnte, aber ich finde keine Informationen, die angibt, dass die Speicheranforderungen für diese vier Symbole sich von den anderen Standardsymbolen auf meiner Tastatur unterscheiden.
Hat jemand einen Einblick, warum dies passieren könnte, und eine mögliche Problemumgehung?
Und ja, merkwürdigerweise brauche ich manchmal eine Zelle mit mehr als 8192 Zeichen dieser Art gefüllt zu haben.