Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Zell-Texte mit Überlängen verarbeiten





Frage

Hallo zusammen, Gerade versuchte ich eine Zelle mit Text in VB zu bearbeiten deren Länge mehr als 256 Zeichen enthält. Es sind in dem Fall deutlich mehr, also 279 Zeichen. Dabei treten einige Schwierigkeiten auf: - der Text wurde mit einem einfachen Apostroph am Anfang versehen und das Standardformat gewählt, damit die Textzeile lesbar ist, keine Zeichen abgeschnitten werden und auch keine ### als Symbol für Überlänge erscheinen. - 3 Varianten für den Zugriff auf den Text in der Zelle ganzer_Text = Cells(i, col).Text ganzer_Text = Cells(i, col).value len_cell = Len(Cells(i, col)) ganzer_Text = Cells(i, col).Characters(1, len_cell ).Text Beim Versuch den gesamten Zelltext in eine Variable abzulegen passiert folgendes: entweder wird die Überlänge (Text länger als 256 Zeichen) abgeschnitten, es sind nur die ersten 256 Zeichen sichtbar. Im letzten Fall erscheint die Fehlermeldung "Die Text-Eigenschaft des Character-Objektes kann nicht zugewiesen werden." Aber erst wenn die Zahl len_cell größer als 256 ist. Mit Werten von 1 .. 256 kommt diese Meldung nicht. Gibt es in excel prinzipiell die Möglichkeit Zellen mit Überlänge (mehr als 256 Zeichen) in Variablen abzulegen, wenn ja welche? Grüße Stefan

Antwort 1 von coros

Hallo Stefan,

Deine 2. Möglichkeit, also

ganzer_Text = Cells(i, col).value


sollte schon den gesamten Text, in die Variable schreiben. Dabei sollte es egal sein, ob der Text > 256 Zeichen oder <= 256 Zeichen ist.
Bei mir ist das jedenfalls so. Ich habe das mal mit 400 Zeichen getestet und alle wurden in die Variable eingetragen und nachher in einer MessageBox auch angezeigt.
Was Du mit der letzten Formel erreichen möchtest, weiß ich nicht, aber mit der .Characters-Eigenschaft kannst Du, soweit ich weiß, nur etwas in einem Text tauschen. Aber eventuell liege ich damit auch falsch.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat..

Antwort 2 von Stefan_calc

Hallo Oliver,

vielen Dank für Deine Antwort.

Aufgrund deiner Aussagen habe ich mir den Debugger mal genauer angesehen. Bei den Überwachungsausdrücken war der Wert von ganzer_text angezeigt. Wie es aussieht können Überwachungsausdrücke nur höchstens 256 Zeichen anzeigen, obwohl in der Ausdruck tatsächlich aus allen Zeichen 256 + x besteht.

Mit len(ganzer_text) konnte ich ganz einfach nachvollziehen daß alle Zeichen in der Variablen drinstehen. Allerdings bin ich mir nicht sicher ob z.B. die instr() - Funktion mit solch langen strings umgehen kann. In dem Fall ging es um eine Zeichenfolge die an der Stelle 300 im string auftauchte aber von instr() nicht gefunden wurde. Werde das aber nochmal genauer prüfen.

Grüße
Stefan / excel 2003

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: