Office: Excel-Export: feste Spaltenbreiten ohne Trennzeichen?

Helfe beim Thema Excel-Export: feste Spaltenbreiten ohne Trennzeichen? in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe folgendes Problem: um ein bestimmtes Programm nutzen zu können, muss ich ein vorgeschriebenes Format einhalten. Die zu exportierende... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Grunzwanzling, 18. August 2003.

  1. Excel-Export: feste Spaltenbreiten ohne Trennzeichen?


    Hallo,

    ich habe folgendes Problem: um ein bestimmtes Programm nutzen zu können, muss ich ein vorgeschriebenes Format einhalten. Die zu exportierende Datei darf keine Trennzeichen (wie Tabs oder Semikoli) beinhalten, sondern jede Spalte bzw. jedes Feld soll natlos an das nächste anschließen.

    Nun habe ich die einzelnen Felder in Spalten organisiert. Diese Felder haben teilweise unterschiedliche Längen. Für den Export müssen sie aber eine jeweils vorgeschriebene Länge einhalten. So würde ich nun gerne die Felder - falls nicht die entsprechende Länge erreicht ist - mit Leerzeichen aufgefüllt haben, ohne dass ich sie selber anhängen muss (das wäre sehr umständlich).

    Ist es möglich - genau wie beim Import von Dateien - den Spalten feste Breiten in Zeichen zuzuordnen, und dass, falls diese nicht erreicht werden, diese mit Leerzeichen aufgefüllt werden?

    Mal ein Beispiel:

    Export-Datei-Format:

    xxxxxxxxxxxxxxxxyyyyzzzz

    In Excel-Spalten:

    x-Platzhalter: HallloTest
    y-Platzhalter: 1
    z-Platzhalter: W

    Sollte dann so aussehen (_ entpricht einem Leerzeichen):

    HalloTest_______1___W___

    oder mit den letzten beiden Feldern rechtsbündig (durch Spaltenformat):

    HalloTest__________1___W

    Ich habe auch schon probiert, als "Überschrift" den Spalten eine entsprechende Anzahl von Platzhaltern zu geben, dann alle Spaltenbreiten daran anzupassen (optimale Breite) und dann als *.prn-Datei abzuspeichern.

    Dabei trat folgendes Problem auf: je nach Spaltenbreite erscheinen zwar zusätzliche Leerzeichen in der Datei, wie ich es will, aber das funktioniert nicht zuverlässig. Wenn die Spalten die optimale Breite haben, dann ist (wie die Datei es vorsieht, ich es aber nicht haben will) ein Leerzeichen zwischen jedem Feld. Mache ich sie kleiner, verschwinden teiweise Inhalte. Außerdem gibt es wohl Zeilenumbrüche innerhalb eines Datensatzes.

    Was ich also eigentlich suche, ist der Export in eine Textdatei, in der jeder Datensatz in einer Zeile steht und die Felder mit bestimmten Längen ohne Trennzeichen enthalten sind.

    Natürlich könnte ich auch einfach folgendes machen:
    Jede Spalte - je nach Länge - mit Leerzeichen auffüllen, dann alle Spalten mit "=A1&B1&...&AZ1" in EINE Spalte schreiben und irgendwie exportieren. Das ist aber verdammt aufwendig und fast gar nicht machbar bei über 6000 Zeichen pro Zeile.

    Weiß jemand Hilfe???

    Vielen Dank im Voraus!

    Liebe Grüße
    Marco

    :)
     
    Grunzwanzling, 18. August 2003
    #1
  2. Hi Grunzwanzling

    Ich hab da eine Idee, weiss zwar nicht ob es noch bessere gibt

    Futzt aber bei Mir...
    Texte in Zellen A1, B1, C1

    Folgendes Makro:

    Sub Export()

    Dim Exportdatei$
    Dim teil1$, teil2$, teil3$, text$, Datei2 As Long

    teil1 = Cells(1, 1) & String(16 - Len(Cells(1, 1).Value), " ")
    teil2 = Cells(1, 2) & String(4 - Len(Cells(1, 2).Value), " ")
    teil3 = Cells(1, 3) & String(4 - Len(Cells(1, 3).Value), " ")
    text = teil1 & teil2 & teil3

    Exportdatei = "d:\export.txt"

    Datei2 = FreeFile
    Open Exportdatei For Output As #Datei2
    Print #Datei2, text
    Close Datei2

    End Sub

    Das ganze wäre natürlich noch ausbaufähig....

    MFG Sturzi
     
  3. Ich hatte vor einigen Monaten ein vergleichbare Aufgabe zu lösen und habe ein VBA-Makro gebastelt:

    Ich habe Dir eine EXCEL-Datei angehängt, der Code verbirgt sich hinter dem Makro cmdCreateFile. Die diversen Feldprüfungen kannst Du wahrscheinlich rausschmeißen (hatten den Sinn, das der Benutzer bei der Dateneingabe auf falsche Daten hingewiesen wurde).

    Ich hoffe, das hilft Dir weiter.

    Grüße, Michael
     
  4. Excel-Export: feste Spaltenbreiten ohne Trennzeichen?

  5. Hallo,

    erstmal vielen Dank für die schnelle Hilfe, ich werde es morgen glieich mal ausprobieren.

    Eine Möglichkeit, alle Spalten hintereinander ohne Trennzeichen als .txt zu exportieren, gibt es wohl nicht in Excel (wie z.B. CSV für ;-getrennt)?

    War ja klar :-))

    Liebe Grüße
    Marco
     
    Grunzwanzling, 21. August 2003
    #5
  6. Moin, Marco,

    was spricht gegen die Option Tabs getrennt?
     
  7. Hallo Jinx,

    ich bin gerade dabei, Deinen Code auszuprobieren.

    Da ich nicht weiß, ob die CurrentRegion-Eigenschaft auch den richtigen Bereich auswählt, möchte ich den Benutzer über einen Dialog nach dem Zellbereich fragen.

    Es gibt da immer so eine schöne Standard-Dialogbox, wenn man in Excel Zellen für eine weitere Funktion wählen möchte, so z.B. für den Zellbereich einer Pivot-Tabelle. Dann klicke ich rechts auf den Button, markiere die Zellen, und er übernimmt diese in die Textbox.

    So würde ich es auch gerne machen.

    Es soll eine Textbox mit eben diesem Button erscheinen, so dass der Benutzer - wie gewohnt - einfach den Bereich eingibt oder über den Button markiert.

    Nur habe ich leider kein passendes Objekt / keine passende Methode gefunden. Für "Speichern unter..." gibt es ja die nette GetSaveAsFilename-Methode, die diesen schönen Standard-Dialog hervorzaubert.

    Könntest Du mir weiterhelfen?

    Vielen Dank im Voraus!

    Liebe Grüße
    Marco
     
    Grunzwanzling, 21. August 2003
    #7
  8. Excel-Export: feste Spaltenbreiten ohne Trennzeichen?

    Hallo nochmal,

    das Programm, für das ich die Datei erstellen will, versteht nur ein Format, in dem alle Datensätze in einer Zeile OHNE Trennzeichen stehen...

    Deshalb ist das ja so aufwendig... *frown.gif*

    Aber das kann ich in Deinem Code ja angeben... einfach die Zeile weglassen, in der ein Komma angefügt wird. *wink.gif*

    Liebe Grüße
    Marco
     
    Grunzwanzling, 21. August 2003
    #8
  9. Moin, Marco,

    das Format Tabs getrennt wandelt AFAIK das Tabulatorzeichen in Leerezeichen um - jedenfalls habe ich keine kryptischen Zeichen oder Trennzeichen in der *.txt gesehen...
     
  10. Hallo jinx,

    ja, das mag sein, aber wie gesagt, zwischen zwei Spalten darf noch nicht einmal ein Leerzeichen stehen, nur, falls eine Spalte mit Leerzeichen aufgefüllt werden muss. Alle anderen Formate setzen immer ein Trennzeichen, ob nun Komma, Semikolon, Tab oder ähnliches.

    Ich habe Deinen Code ein wenig modifiziert und es funktioniert problemlos. Der Export geht am Anfang ziemlich schnell, aber dann wird er immer langsamer, aber das ist wohl Excel-bedingt. Auf jeden Fall klappt es prima, das andere Programm liest es so ein, wie ich es will.

    Und um die Datei, die von dem anderen Programm stammt, nach der Verarbeitung wieder einzulesen (es hängt nur Ergebnisspalten an), habe ich auch auf der Basis Deines Codes ein kleines Makro erstellt, was die Datei mit den zusätzlichen Zeichen wieder einliest.

    Also, vielen lieben Dank, Du hast mir eine Menge Arbeit erspart.

    Aber auch den anderen sei für ihre Vorschläge gedankt - auch, wenn ich sie nicht genutzt habe. ;-)

    Könntest Du mir zu meinem Beitrag bzgl. des Auswahlfeldes noch eine Lösunge anbieten? Das wäre sehr nett. Außerdem wüßte ich auch gerne, wie man eine Fortschrittsanzeige mit einem Balken programmiert, so wie Excel das z.B. beim Speichern von Dateien anzeigt. Das Status-Zeilen-Objekt habe ich schon entdeckt, aber da ich nicht wußte, wie man einen Balken anzeigt, habe ich nur einen Text hingeschrieben, der fortlaufend die Anzahl der bereits exportierten Datensätze anzeigt. Kann man eigentlich erfahren, wie viele Datensätze eine mittels "Line Input #" zu importierende Datei hat? Dann kann ich auch da "x von y Zeilen importiert" anzeigen. Bisher zeige ich nur an, wie viele Zeilen importiert wurden, aber nicht, wie viele insgesamt in der Datei sind. Das wäre eine nette Zusatzinformation für den Nutzer.

    Vielen Dank im Voraus!

    Liebe Grüße
    Marco
     
    Grunzwanzling, 23. August 2003
    #10
  11. Leider führt der Link "Texte mit unterschiedlichen Feldlängen als Textdatei speichern." nicht mehr zur Lösung. Wo kann ich diese heute finden?

    Herzlichen Dank im Voraus!
     
  12. Excel-Export: feste Spaltenbreiten ohne Trennzeichen?

    Herzlichen Dank!
     
  13. NoNet, 1. Juli 2008
    #14
  14. Hallo allerseits,

    ich habe das gleiche Problem, nur andersrum ^^

    Ich habe einen Datensatz mit fester Feldlänge und würde diesen gerne mittels Makro so in Excel importieren, dass die Felder an der entsprechenden Stelle wieder getrennt werden. Es müssten also die Angaben, die im Importmanager nach der Angabe "feste Breite" von Hand mittels verschieben der Trennstriche gesetzt werden, automatisch erfasst werden (Bsp. "Zellenumbruch" nach Stelle 5, nach Stelle 17, ...). Relative Angaben bringen nichts, da sich die Inhalte natürlich ändern.
    Wer weiß Rat?

    VIELEN DANK im Voraus!

    Eike
     
    hippie666, 10. November 2010
    #15
Thema:

Excel-Export: feste Spaltenbreiten ohne Trennzeichen?

Die Seite wird geladen...
  1. Excel-Export: feste Spaltenbreiten ohne Trennzeichen? - Similar Threads - Excel Export feste

  2. Export an Excel aus Registersteuerelement UFO

    in Microsoft Access Hilfe
    Export an Excel aus Registersteuerelement UFO: Hallo zusammen! Hab mir aus dem Forum nachfolgenden Code geholt, welcher super für den Export funktioniert. Die Zuweisung des zu exportierenden UFO's erfolgt über frmX. Nun würde ich gerne dieses...
  3. Formatierung Excel mit Kontrollkästchen Export zu PDF

    in Microsoft Excel Hilfe
    Formatierung Excel mit Kontrollkästchen Export zu PDF: Hallo, Ich habe eine Exceldatei, die Checkboxen/Kontrollkästchen beinhaltet. Beim Export zum PDF sind die Kästchen nur ganz klein dargestellt/verzerrt oder die Häkchen sind sehr dezent, sodass...
  4. Excel-Export aus Backend mit Datenbankpasswort

    in Microsoft Access Hilfe
    Excel-Export aus Backend mit Datenbankpasswort: Hallo Ich bin selber kein ACCESS-Entwickler und benötige Hilfe bei einer Aufgabenstellung.: Hier eine knappe Beschreibung: Eine Windows-Anwendung nutzt eine MS-Access-DB als backend. Die DB kann...
  5. Export Excel in csv per VBA

    in Microsoft Excel Hilfe
    Export Excel in csv per VBA: Hallo Zusammen, ich benötige für ein kleines Projekt einen CSV-Export aus einer Exceldatei, welcher eine Matrix-Tabelle in eine CSV-Datei ausgibt. Für jede verfügbare Matrix soll eine separate...
  6. Excel Makro - Export zweier Tabellenblätter in separate Datei

    in Microsoft Excel Hilfe
    Excel Makro - Export zweier Tabellenblätter in separate Datei: Hallo in die Runde, ich stehe gerade vor einem Problem, das sicher am einfachsten über ein Makro gelöst werden kann – deren Benutzung ich allerdings nicht wirklich mächtig bin. Eine erste...
  7. Kontaktliste aus Outlook als pdf/Excel exportieren

    in Microsoft Outlook Hilfe
    Kontaktliste aus Outlook als pdf/Excel exportieren: Hallo zusammen :) ich habe meine Kontakte kürzlich alle in Outlook zusammengetragen und in verschiedenen Ordnern für die einzelnen Projekte abgelegt. Nun möchte ich aus einem Ordner eine...
  8. Makro für csv-Export

    in Microsoft Excel Hilfe
    Makro für csv-Export: Guten Tag! Es wäre sehr toll, wenn mir jemand helfen könnte. Der folgende Code macht, was ich bisher wollte: Sub csv_Makro() Dim SrcRg As Range Dim CurrRow As Range Dim CurrCell As Range...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden