Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1404to1408
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Tabellenblatt in Text umwandeln
23.01.2015 23:57:38
bernhardtautz
Hallo liebe VBA Experten,
mein Kenntnisstand: Excel: "bin zufrieden", VBA: "Fortschritte erkennbar"
Ich möchte aus einem Tabellenblatt, das als Eingabeformular gestaltet ist , einen Bericht als Text erstellen.
Angenommen, es geht um die Zellen A1 bis A100 (in Wirklichkeit ist es etwas komplexer. Es geht erstmal nur um das Prinzip). Ich würde nun gerne alle Zellen in einen Textstring aneinanderreihen.
Zwischenfragen: a) Ist das sinnvoll ? b) Wie lang darf so ein String sein ?
Main question: Ist es technisch machbar, z.B. mit einer Schleife ("for x =1 to 100"), immer die nächste Zelle in den Textstring einzubauen bzw. an diesen anzuhängen ? Wenn ja, wie spreche ich das an ?
c) In so einen Textstring kann man meines Wissens nach Zeilenwechsel einbauen ("Ch 13"oder so ähnlich"). Kann man auch Tabulatoren setzen, um die Form der Darstellung zu gestalten ?
Ist das alles eine naive Schnapsidee eines Dilettanten und ihr würdet das ganz anders angehen ? Wenn ja wie ?
Vor dieser Anfrage habe ich reichlich recherchiert, aber nichts dazu gefunden. Kann mir jemand helfen ?
LG Bernhard

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt in Text umwandeln
24.01.2015 01:06:47
{Boris}
Hi,
Ist das alles eine naive Schnapsidee eines Dilettanten und ihr würdet das ganz anders angehen ?
Das hängt von Deinem EIGENTLICHEN Vorhaben ab. Davon hast Du uns aber bisher nix erzäht...?!
VG, Boris

oT: nachgefragt ...
24.01.2015 14:31:08
neopa
Hallo Boris,
... ist WF zur Kur? Einen anderen Grund kann ich mir kaum vorstellen, dass er sich so lange hier nicht mehr "blicken" lassen hat. Oder?
Gruß Werner
.. , - ...

Ich denke schon ...
25.01.2015 12:53:57
{Boris}
Hi Werner,
War jetzt länger nicht bei ihm - aber zeitlich passt es. Somit wird es so sein 😀
VG Boris

Danke; einen schönen SoAbend noch ... owT
25.01.2015 17:44:06
neopa
Gruß Werner
.. , - ...

Anzeige
AW: Tabellenblatt in Text umwandeln
24.01.2015 16:28:39
bernhardtautz
Hallo,
das eigentliche Vorhaben ist: Ich möchte aus einem Tabellenblatt, das als Eingabeformular gestaltet ist , einen Bericht als Text erstellen oder sagen wir von mir aus ich möchte es in einen Text umwandeln.
Am Beispiel der Zellen A1 bis A100 suche ich nach einer Lösung, wie ich Zelle für Zelle den Inhalt an einen einen Textstring anhängen kann. Am liebsten mit einer Schleife.
Das ist das "eigentliche Vorhaben". Mehr steckt nicht dahinter.
LG Bernhard

Text-Datei schreiben
24.01.2015 18:02:47
Michael
Hi Bernhard,
ich hab schnell was aus einer meiner Tabellen extrahiert.
https://www.herber.de/bbs/user/95231.xls
Ich lese beispielsweise aus den Spalten A bis C Werte und verbinde sie mit vbLf (neue Zeile) bzw. Tab.
Es sollte Dir nicht weiter schwer fallen, das auf Deine Bedürfnisse abzuändern.
Um auf Deine ursprüngliche Fragestellung zurückzukommen: ich schreibe keinen "langen" String, sondern schlicht Zeilen in eine neue, geöffnete Textdatei.
Abbruchkriterium der for-Schleife ist ein Wert, den Du händisch eingibst: den kannst Du entsprechend Deiner Tabelle anpassen oder "ausprogrammieren", ebenso den Namen der zu erzeugenden Textdatei.
Happy Exceling,
Michael

Anzeige
AW: Text-Datei schreiben
24.01.2015 22:34:31
Bernhard
Hi Michael,
vielen Dank für deine Hilfe. Das scheint genau das zu sein, was ich brauche.
Jetzt sind Folgefragen entstanden:
Ich müsste die Datei nicht nur ausdrucken, sondern auch ansehen und weiterbearbeiten können.
Ich habe versucht via Steuerelemente ein Textfeld einzubauen.
Dann habe ich vor "End Sub" die Zeile "Worksheets("Werte").TextBox1 = ausgabe" eingefügt.
Die Textbox kann aber scheinbar nicht korrekt mit "ausgabe" umgehen. Es erschien darin:
Ausgabe: abla10 bbla10 cbla10
also nach meinem Verständnis nur die letzte Zeile.
Kannst Du mir mit der Textboxweiterhelfen oder mir sagen wie ich an die Datei zur weiteren Bearbeitung komme ?
Gruss Bernhard

Anzeige
AW: Text-Datei schreiben
25.01.2015 18:37:29
Michael
Hi Bernhard,
die Textbox kann selbstverständlich richtig mit der Variablen "ausgabe" umgehen; es ist nur so, daß diese in jedem Durchlauf der FOR-Schleife überschrieben wird: ausgabe = Range("A" & zeile) & " usw. "
Deshalb hat sie nur den Wert des letzten Schleifendurchlaufs.
Tja, die Frage ist, was Du letztlich haben willst. "Bearbeiten" kannst Du die Textdatei, indem Du sie einfach mit dem Editor (oder meinetwegen auch mit Word) öffnest (das kann man zur Not auch mit VBA anstoßen). Die Bearbeitung geht damit sicher deutlich komfortabler als in einer Textbox.
Aber: wozu dat janze? Text ist für den Programmierer unhandlicher als Excel, also frage ich mich, was Du im Einzelnen vorhast.
Nun gut. Hier kurz der Code einer weiteren Funktion ...
Sub String_Erzeugen()
Dim zeile As Integer
Dim ausgabe As String
ausgabe = ""
For zeile = 1 To Range("I18")
ausgabe = ausgabe & "Ausgabe: " & vbTab & _
Range("A" & zeile) _
& " " & Range("B" & zeile) _
& " " & Range("C" & zeile) & vbLf
Next zeile
Debug.Print ausgabe
End Sub
... die die Variable ausgabe ins Debug-Fenster schreibt; die Zuweisung in Deine Textbox sollte genauso hinhauen.
Ich habe nur irgendwas im Hinterkopf, daß ein Excel-String "irgendwo" begrenzt ist (bin zu faul, jetzt selbst zu googeln), so daß das bei richtig großen Datenmengen instabil werden könnte.
Happy Exceling,
Michael
Anzeige

358 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige