So, nun habe ich die Kopie meiner Zelle in Zelle 100,1, also genau was ich wollte. Mit einer Ausnahme: wenn der Text in der Zelle mehr als knapp über 1000 Zeichen hat (das kommt vor…), dann wird er abgeschnitten, der Rest fehlt einfach.
Mit Cells(100,1) = Cells(zeile, spalte).Value oder ähnlichen Konstrukten komme ich auch nicht weiter, und wie üblich hilft mir die Hilfefunktion kein bißchen…
Erst Zelle kopieren
dann
Bearbeiten
Inhalte einfügen
Dann öffnet sich ein Fenster, da kannst du wählen, was du einfügen willst - alles - Werte - Formate usw.
oder sogar Verknüpfung, wenn beide Zellen in der Tabelle immer gleich bleiben sollen…wirds automatisch geändert, wenn du in der ersten Zelle was änderst.
Vielleicht klappts besser. Also ich habe damit schon dutzende von Spalten damit kopiert und eingefügt, problemlos.
Gruss
Cabochon
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
So, nun habe ich die Kopie meiner Zelle in Zelle 100,1, also
genau was ich wollte. Mit einer Ausnahme: wenn der Text in der
Zelle mehr als knapp über 1000 Zeichen hat (das kommt vor…),
dann wird er abgeschnitten, der Rest fehlt einfach.
Mit Cells(100,1) = Cells(zeile, spalte).Value oder ähnlichen
Konstrukten komme ich auch nicht weiter, und wie üblich hilft
mir die Hilfefunktion kein bißchen…
öhm… ja… ich hätte dazu schreiben sollen, daß ich das ganze eben per makro machen will/muß. aufzeichnen und angucken? hab ich gemacht, dann wird aber ein „range“ kopiert, und da komm ich nicht mit meinen werten für zeile und spalte rein… wenn ich mit kopieren/einfügen die zellen zu fuß kopiere, wird natürlich nichts abgeschnitten…
Mit einem Range, also einem Zellbereich, kannst du doch genauso arbeiten, wie mit einer einzelnen Zelle?! Aber davon abgesehen, wichtig für deine Kopiermethode scheint mir doch der Code
Mein Problem liegt woanders…
Sorry, ich hab mich da irritieren lassen! Mein Problem ist eigentlich nicht das Kopieren per copy und paste… das schien nur so wegen der Daten, die ich zu Kontrollzwecken woanders hin geschrieben hatte. Sozusagen ein Bug beim Bug-suchen…
Also noch mal die Stelle, die das Problem wirklich verursacht:
zeichenfolge1 = Cells(10000, 4).Text
Das klappt einwandfrei, solange der Text nicht länger ist als gut 1000 Zeichen. Danach wird er einfach abgeschnitten.
Dim zeichenfolge1 As String steht drin, und außerdem fällt mir auf daß auch etwas wie:
Cells(9000, 4) = Cells(10000, 4).Text
den gleichen abgeschnittenen Text erzeugt.
Ich müßte aber doch mit Cells(10000,4).Text den gesamten Inhalt der Zelle bekommen, oder nicht?
Oder anders gefragt: Wie bekomme ich den gesamten Text einer Zelle in einen String? Das kann doch nicht schwer sein…
Sorry…
In VBA habe ich nur ein paar Basiskenntnisse, da kann ich dir nicht weiterhelfen. Falls du hier keine Antwort bekommst, kannst du es ja noch im Board VBA versuchen.
Ich habe mal versucht Dein Problem zu rekonstruieren.
Dabei bin ich auf folgendes gestoßen:
Es macht für Execl einen Unterschied ob Du .Text oder .Value schreibst. Bei mir hat´s mit .Value ohne Probleme mit einem Zelleninhalt von 2200 Zeichen mit folgendem Script funktioniert.
Ich habe mal versucht Dein Problem zu rekonstruieren.
Dabei bin ich auf folgendes gestoßen:
Es macht für Execl einen Unterschied ob Du .Text oder .Value
schreibst. Bei mir hat´s mit .Value ohne Probleme mit einem
Zelleninhalt von 2200 Zeichen mit folgendem Script
funktioniert.
DANKE! Ja, auf die Idee mit .Value war ich auch schon gekommen, aber das war wohl als ich den Fehler noch an der falschen Stelle gesucht habe…
Nun wüßte ich aber zu gerne, wieso das so ist… Nur um mich zu Ärgern? ein Feature, dessen Sinn sich mir nicht erschließt? Oder doch mal wieder ein Bug, der mich meine Zeit kostet, ohne Aussicht daß Kleinweich mir das ersetzt?
Auf jeden Fall läuft mein Makro nun (jedenfalls so weit es bisher fertig ist), und ich kann weiterarbeiten… Danke nochmal!
So ganz schlüssig kann ich´s Dir auch nicht erklären. Eigentlich ist die .Text Eigenschaft zum Zurückliefern von Zahlen/Datum als Text. Wenn Du das folgende Beispiel mal ausprobierst, dann wirst Du den Unterschied sehen.
ich denke, daß das en historisch gewachsenes Problem ist. In alten Excel-Funktionen durften Zelleninhalte nicht länger als 256 Zeichen sein. Bei der Erweiterung der Funktionen wurde je nach Programmierer eine andere Höchststringlänge implementiert.
Die Excel-Funktionen (nicht VBA) laufen auch nicht alle mit langen Strings.