So funktioniert JustAnswer:

  • Fragen Sie einen Experten
    Tausende Experten in über 200 Kategorien.
  • Erhalten Sie eine professionelle Antwort
    Per E-Mail oder sofortiger Benachrichtigung, während Sie auf unserer Website warten.
    Stellen Sie ggf. weitere Anschlussfragen.
  • 100%ige Zufriedenheit garantiert
    Bewerten Sie die erhaltene Antwort.

Stellen Sie Ihre Frage an IT-Fachinformat...

IT-Fachinformatiker
IT-Fachinformatiker, Systemadministrator
Kategorie: Computer
Zufriedene Kunden: 6838
Erfahrung:  Software Entwicklung, Projekt Erfahrung, Windows-Netzwerke, Linux-Netzwerke, Windows/Linux-Server
32504664
Geben Sie Ihre Frage in der Kategorie Computer hier ein
IT-Fachinformatiker ist jetzt online.

Schreiben von Daten aus Access in Excel (2003) Txt ein String

Kundenfrage

Schreiben von Daten aus Access in Excel (2003)
Txt= ein String mit über 1100 Zeichen
Der Versuch, diesen Text mit
xlsapp.Selection.OffSet(1, 1).Value=txt
in Excel zu Schreiben, fürht zum Laufzeitfehler 7 Nicht genügend Speicher.
Kürzere Strings werden problemlos übertragen
Gepostet: vor 5 Jahren.
Kategorie: Computer
Experte:  IT-Fachinformatiker hat geantwortet vor 5 Jahren.
Hallo,

also pro Zelle können rein theoretisch bis zu 32.768 Zeichen verwendet werden. Da aber niemand jemals auch nur 1000 überschreitet, dürfte dies nicht vollständig getestet worden sein. Insofern besteht die Möglichkeit, das es überhaupt nicht möglich ist.

Info: Beachten Sie, dass eine Zelle schon seit Excel 97 bis zu 32'767 Zeichen theoretisch aufnehmen kann. Das ist im Grundsatz richtig. Bei den gängigen Excel Versionen ist es jedoch leider so, dass lediglich bis zu ca. 1024 Zeichen direkt in der Zelle dargestellt werden. Ab Excel 2007 wird immer der gesamte Zellinhalt, d.h. bis zu 32'767 Zeichen, in der Zelle dargestellt.

Welchen Datentyp hat denn das Ziel d.h. die Zielzelle, in der der String hinein soll?

LG Günter
Kunde: hat geantwortet vor 5 Jahren.
Welchen Datentyp hat denn das Ziel d.h. die Zielzelle, in der der String hinein soll?An die Zielzelle soll ein Textstring übergeben werden. Offenbar ist es wirklich so, dass sich über die .Value Eigenschaft nur ca 1.024 (hier exakt 1016) Zeichen übergeben lassen. Hast Du eine Idee für einen "Workarround"?Beste GrüßeMartin
Experte:  IT-Fachinformatiker hat geantwortet vor 5 Jahren.
Hallo Martin, ja das ist so das Problem 1024 sind eine magische Grenze in diesem Kontext . Ich habe mal das u.a. Codefragment getestet:

Bei 1024 könnte man Testweise auch:

Dim i As Integer

For i = 1 To 1024
ActiveCell.Value = ActiveCell.Value & Str(i)
Next i

schreiben, klappt wunderbar. Bei Excel 2010 z.B. funktioniert dies auch mit deutlich mehr als 1100 Einträgen allerdings die 2003er Version da müsste ich es noch testen. Das, was Du machen kannst wäre den String Schubweise also in zwei Teilen importieren und später wieder zusammen setzen.

Dazu benötigst Du das "&" um den String zusammen zu bauen und eine normale Schleife genauer eigentlich wären es ja zwei also z.B:

Dim i As Integer
For i=1 To 550
xlsapp.Selection.OffSet(1, 1).Value=txt
Next i

und die zweite Schleife läßt Du einfach ab 551 bis 1100 laufen. Aber Du musst dafür sorgen, das der zuvor reingeschriebene Inhalt nicht verloren geht und das geht dann so:

Beispiel:

ActiveCell.Value = ActiveCell.Value & Str(i)

Damit stellst Du sicher, das die alten Werte (Genauer wird hier Byte für Byte eingelesen) erhalten bleiben. In Excel selbst können die Limits nicht umgangen werden Du musst also auf o.a. Weise Dich herantasten nur so kommst Du ans Ziel also den String aufteilen und später wieder zusammen setzen. Du kannst aber auch je ein String in eine Zelle speichern und am Ende diese beiden Zellen wieder zusammenführen also z.B.

DeineZelle1 = DeineZelle1 & DeineZelle2

Ich denke ein anderer Weg wird nicht möglich sein zumal ich die Exceltabelle nicht vor mir habe aber ich denke, das Du so ans Ziel kommst. Bei Strings muss strikt auf den Datentyp geachtet werden d.h. auch die Zellen müssen korrekt formatiert sein Beispiel für Strings (Zusammenführen):

Dim a As String
Dim b As String

a = "foo"
b = "bar"
MsgBox a & b

Ich hoffe, das Dir diese Tipps weiter helfen und helfe gern weiter.

LG Günter
IT-Fachinformatiker, Systemadministrator
Kategorie: Computer
Zufriedene Kunden: 6838
Erfahrung: Software Entwicklung, Projekt Erfahrung, Windows-Netzwerke, Linux-Netzwerke, Windows/Linux-Server
IT-Fachinformatiker und weitere Experten für Computer sind bereit, Ihnen zu helfen.
Experte:  IT-Fachinformatiker hat geantwortet vor 5 Jahren.
Guten Morgen Martin,

für Deine Akzeptierung und Deinen Bonus möchte ich mich ganz herzlich bedanken und wenn ich Dir wieder helfen kann, einfach melden :-) nochmals Danke.

LG Günter
Kunde: hat geantwortet vor 5 Jahren.

Ich habs so probiert, aber er steigt auch hier nach 1.024 Zeichen aus :-(

 

If Nz(Len(rs.Fields(fld.OrdinalPosition).Value), 0) > 1000 Then
For i = i To Len(rs.Fields(fld.OrdinalPosition).Value)
.Selection.OffSet(rs.AbsolutePosition + 1, fld.OrdinalPosition).Value = .Selection.OffSet(rs.AbsolutePosition + 1, fld.OrdinalPosition).Value & Mid(rs.Fields(fld.OrdinalPosition).Value, i, 1)
Debug.Print i
Next i
Else
.Selection.OffSet(rs.AbsolutePosition + 1, fld.OrdinalPosition).Value = rs.Fields(fld.OrdinalPosition).Value
End If

Experte:  IT-Fachinformatiker hat geantwortet vor 5 Jahren.
Hallo,

hm den Code könnte ich nur testen, wenn Du mir mal die Exceldatei an

rufushoschi AT yahoo PUNKT de


sendest. Unter Excel 2010 wird das wohl klappen ich hab aber in einer VM Windows XP laufen (sonst nur Windows 7) und da ist auch Excel 2003 d.h. dann könnte ich mal nachschauen, was wir da machen können das ginge sicherlich am schnellsten :-)

LG Günter

Bekannt aus:

 
 
 
„[...]mehr als Zehntausend Experten weltweit; 1500 davon in Deutschland. Acht Jahre nach dem Start ist das [...] Online-Unternehmen mit seinen 90 Mitarbeitern die größte Web-Seite für das Vermitteln von Experten von Anwälten über Ärzte bis hin zu Universitätsprofessoren.“
„Wer eine fachmänische Lösung für ein medizinisches, rechtliches oder technisches Problem sucht, kann das jetzt auch im Internet tun. Lebenshilfe auf die schnelle, unkomplizierte und vor allem erschwingliche Art bietet die Seite www.justanswer.de. Etwa 1500 Experten stehen per Mail für Fragen zu ca. 200 Fachgebieten rund um die Uhr zur Verfügung."
„Rat gewünscht? Rechtliche, medizinische oder allgemeine Fragen beantworten Experten unter www.justanswer.de."
„JustAnswer, die weltweit führende Online-Plattform für Expertenfragen und -antworten, bietet ab sofort noch mehr Sicherheit und Qualität für Verbraucher."
„Ob Vorbereitung, Notfall oder Reklamation nach dem Urlaub - JustAnswer bietet jederzeit schnelle, kompetente Antworten"
„Die Online-Plattform JustAnswer bringt Ratsuchende und Experten in über 200 Fachgebieten zusammen."
 
 
 

Was unsere Besucher über uns sagen:

 
 
 
  • Ich bedauere, dass ich nicht gleich bei Ihnen gelandet bin. Die Leerung des Cache hat das Problem gelöst. Danke Gerd Schönbuchner Grafrath
< Zurück | Weiter >
  • Ich bedauere, dass ich nicht gleich bei Ihnen gelandet bin. Die Leerung des Cache hat das Problem gelöst. Danke Gerd Schönbuchner Grafrath
  • Endlich ein Experte, der mir wirklich weiterhelfen konnte! DANKE! JustAnswer Kunde Taunusstein
  • Ihre Antwort hat mir sehr geholfen, die richtigen Entscheidungen zu treffen. Dass Sie mir darüber hinaus noch 2 Empfehlungen gegeben haben fand ich super. Vielen Dank! JustAnswer Kunde Freiburg
  • Die ausgearbeiteten Hilfen waren gut strukturiert, leicht verständlich und zu 100% hilfreich für mich. Vielen Dank Markus B. Karlsruhe
  • Sehr schnelle und kompetente Antwort, die für mich bares Geld bedeutet. Vielen Dank! S.Stober K.
  • Herzlichen Dank! Hab durch Ihre Antwort viel Geld gespart! Ben R. Deutschland
  • Sehr schnelle und kompetente Hilfestellung. Besonders für mich als Laien wurde alles sehr verständlich erklärt. Gerne wieder! Rosengl Bad Tölz
 
 
 

Lernen Sie unsere Experten kennen:

 
 
 
  • Tronic

    Tronic

    IT-Specialist

    Zufriedene Kunden:

    2269
    Elektroniker und EDV-Service
< Zurück | Weiter >
  • http://ww2.justanswer.com/uploads/PY/Pyroflash/2011-4-21_104934_tronic.64x64.jpg Avatar von Tronic

    Tronic

    IT-Specialist

    Zufriedene Kunden:

    2269
    Elektroniker und EDV-Service
  • http://ww2.justanswer.com/uploads/rufushoschi/2010-11-08_135947_bild.jpg Avatar von IT-Fachinformatiker

    IT-Fachinformatiker

    Systemadministrator

    Zufriedene Kunden:

    6338
    Software Entwicklung, Projekt Erfahrung, Windows-Netzwerke, Linux-Netzwerke, Windows/Linux-Server
  • http://ww2.justanswer.com/uploads/COMINAROSA/2010-02-03_172238_PASSBILD.JPG Avatar von COMIN IT-Service

    COMIN IT-Service

    Dipl.-Ing.

    Zufriedene Kunden:

    779
    Dipl.Ing (FH) ET, NT, IT
  • http://ww2.justanswer.com/uploads/RaubergerConcep/2010-03-02_102740_Portraet64.jpg Avatar von RaubergerConcept

    RaubergerConcept

    IT-Specialist

    Zufriedene Kunden:

    234
    Mehr als 10 Jahre Erfahrung in Softwareentwicklung und Netzwerktechnik
  • http://ww2.justanswer.com/uploads/LF/lfalkenburg/2015-2-8_01843_.64x64.jpg Avatar von Lutz Falkenburg

    Lutz Falkenburg

    IT-Specialist

    Zufriedene Kunden:

    96
    Seit über 20 Jahren beruflich im IT-/IUK-Bereich tätig. Egal ob EinzelPC der Netzwerk...
  • http://ww2.justanswer.com/uploads/BI/BigDaddyXD/2012-10-24_20126_WhySoSeriousJob.64x64.jpg Avatar von BigDaddyXD

    BigDaddyXD

    Informatiker

    Zufriedene Kunden:

    1588
    Microsoft Certified Professional, Microsoft Certified Desktop Support Technican,...
  • http://ww2.justanswer.com/uploads/PU/Pucky80/2011-5-14_54537_pucky80.64x64.jpg Avatar von Pucky80

    Pucky80

    IT-Systemkaufmann

    Zufriedene Kunden:

    1322
    MCITP (Microsoft Server 2008 Enterprise Administrator)
 
 
 

Ähnliche Fragen in der Kategorie Computer