Office: Makro für Import txt und Weiterverarbeitung

Helfe beim Thema Makro für Import txt und Weiterverarbeitung in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo forum, ich weiss nicht genau, ob mir hier jemand zu diesem problem was sagen kann, ich weiss nicht so recht, unter welches „thema“ ich es... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von amavisca, 29. Mai 2011.

  1. amavisca Erfahrener User

    Makro für Import txt und Weiterverarbeitung


    Hallo forum,

    ich weiss nicht genau, ob mir hier jemand zu diesem problem was sagen kann, ich weiss nicht so recht, unter welches „thema“ ich es packen soll. Es geht um import von daten ins excel und automatisierung durch makro. Leider bin ich des "VBAs" bzw. "Makro" nicht so mächtig.....

    Insgesamt ist das ziel meiner übung, eine .txt-datei (beispiel siehe beigefügt) in eine excel-datei zu importieren, dann einige änderungen vornehmen und als csv abspeichern. Dies soll für jede weitere txt-datei (jede hat allerdings einen anderen namen) automatisiert werden, allerdings sollen alle importe in einer datei gesammelt werden und jeder neuer import immer unter den alten gehängt werden.

    Den import und die änderung habe ich manuell als makro "aufgenommen", was auch prinzipiell funktioniert, auch wenn man es vermutlich viel einfach machen könnte. Siehe hierzu beigefügte datei „import makro“ nach erfolgtem import sowie „01_import_EBP_marko_aufzeichnung“ nach bearbeitung des imports (ich hoffe, daß die makros für Euch zu finden sind: "...import" und "...SALM_test")

    Folgendes kriege ich jetzt aber nicht hin:

    - das „drunterhängen“ eines neuen imports unter den (die) bereits vorhandenen (2. import ab der 6.zeile, 3. import ab der 12.zeile etc.)

    - der import von neuen txt-dateien, die immer einen anderen namen haben (jedesmal eine andere nummer vor dem .txt)
    - ein verweis auf einen festen ordner, wo er sich die txt-datei holen soll.

    Ich habe mir gedacht, dass ich im VBA-Skript an den entsprechenden stellen irgendwie fuhrwerke, aber da komme ich nicht weiter….

    Kann mir da jemand helfen oder brauche ich da tiefergehende hilfe? Oder liesse sich meine prozedur insgesamt viel einfacher lösen unter den vorgegebenen bedingungen??

    Vielen Dank für einen Hinweis!
    AMAVISCA
     
    amavisca, 29. Mai 2011
    #1
  2. miriki Erfahrener User
    Die Beschreibung ist so leider nicht ganz eindeutig... Nochmal langsam zum Mitschreiben:

    a) Du hast ein Verzeichnis mit mehreren Textdateien, die importiert werden sollen. Die Dateien haben immer den gleichen Namen.
    b) Du hast eine Excel-Mappe, die den Import, die Verarbeitung und den Export erledigen soll.
    c) Du hast ein Verzeichnis, in das die exportierten Daten abgespeichert werden sollen.

    Was genau soll jetzt mit a) passieren?
    a) Jede Datei einzeln wird importiert, verändert und wieder exportiert. Zusätzlich wird eine Kopie in einer Geamtliste unten angehängt?
    b) Nicht die einzelne Datei wird exportiert, sondern die Gesamtliste?

    Was sind die Änderungen zwischen Import und Export? Greifst Du da manuell ein? Dann wäre die Automatisierung ja in mind. 2 Teile aufzuteilen.

    Vom Ablauf könnte ich mir vorstellen:
    a) Button1: Import einer Textdatei in ein "temporäres" Arbeitsblatt
    b) manuelle Bearbeitung
    c) Button2: Export des tmp. in eine Textdatei
    d) Anhängen des tmp. an eine Gesamtliste - Löschen des tmp.
    e) weiter bei a) bis alle Dateien durch sind

    Alternative wäre
    a) Button1: Import aller Textdateien in jeweils separate tmp. Blätter
    b) manuelle Bearbeitung
    c) Button2: Export aller tmp. in separate Textdateien
    d) Anhängen der tmp. an eine Gesamtliste - Löschen der tmp.

    Und das ganze wiederholt sich dann täglich, wöchentlich, monatlich, ...

    Wenn die zu importierenden Dateien auch noch immer unterschiedliche Dateinamen, z.B. durch Datumsangabe, haben, dann wird's etwas schwieriger...

    Gruß, Michael
     
    miriki, 30. Mai 2011
    #2
  3. amavisca Erfahrener User
    Hallo Michael,

    vielen Dank für die Rückmeldung und sorry, daß ich das so schlecht erklärt habe.

    Ich versuche es noch einmal konkreter, da Dein Interpretationsversuch nur teils zutrifft (bei der Erklärung aber kein Wunder!:-)

    ich bekomme per mail jeden monat mindestens 100 .txt-dateien. Jede txt-datei entspricht einer Rechnung eines lieferanten (es geht um den Bereich der Finanzbuchhaltung), weshalb jede txt-datei auch eine andere nummer bekommt. Die Struktur der Datei ist aber immer gleich.

    Nun will ich am Ende des Monats alle Rechnungen in meinem Buchhaltungssystem verbuchen. Dies wiederum geht über einen Import einer *.csv-Datei, in der alle 100 Rechnungen "untereinander" aufgereiht sind. Das funktioniert aber nur, wenn

    -aus der original.txt gewisse information weggelassen werden
    -und die vorhandenen infos in einer anderen reihenfolge gebracht werden
    -und noch gewisse informationen zusätzlich ersetzt oder eingefügt werden.

    Diese 3 änderungen sind aber im prinzip immer gleich!

    Daher folgende Schritte:

    (alle txt-dateien liegen in dem gleichen verzeichnis; müssen aber nicht, wenn das hinderlich wäre)

    a) import der txt-datei in eine excel-datei mit 1 arbeitsmappe (habe ich als makro aufgenommen)

    meine fragen:
    - kann ich "ihm" klarmachen, daß er immer auf einen bestimmten ordner zugreifen soll
    - kann ich ihm klarmachen, daß er immer eine neue txt-datei "reinholen" soll


    b) die importierten infos nach immer gleichem schema abändern, d.h. z.b.
    (habe ich auch als makro aufgenomme)

    - Datumsformat statt TT.MM.JJJ immer TTMM
    - statt der vorgegenen nummer in spalte C immer die gleichen äquivalente (vorgegeben = französisches fibukonto, ersetzen durch immer gleiches deutsches fibukonto)
    - immer die reihenfolge der spalten in gleicher art und weise ändern
    - eine spalte hinzufügen mit immer der nummer 71904 (spalte F)
    - 5.Zeile des Imports immer löschen

    die geänderten werte dann so stehenlassen.

    c) die gleiche prozedur mit der nächsten rechnung/txt-datei

    meine frage:

    - kann ich "ihm" klarmachen, daß der jeweils nächste import unter den letzten "gehängt" wird?


    Am ende habe ich alle rechnungen untereinander in einer arbeitsmappe stehen. Jetzt kann ich entspannt eine csv-datei daraus machen und in das fibu-system importieren, was dann problemlos klappt, weil der formataufbau den vorgaben des fibu-programms entspricht.

    Mein traumziel wäre es, daß ich bzw. ein Mitarbeiter die txt-dateien in einem bestimmten ordner auf dem server sammeln und dann jedesmal den import und die umarbeitung als makro laufen zu lassen bis zum ende des monats.

    danach das ganze in einer neuen mappe für den nächsten monat

    Ist das jetzt besser erklärt?

    Ist das eine harte Nuss?
    gruss amavisca
     
    amavisca, 31. Mai 2011
    #3
  4. miriki Erfahrener User

    Makro für Import txt und Weiterverarbeitung

    Ich glaube ja, versuch's aber nochmal mit eigenen Worten:

    Code:
    Erstelle leeres Blatt "gesamt"
    Für jede gefundene Textdatei in einem gegebenen Ordner:
      Erstelle Blatt "einzeln"
      Importiere Textdatei in Blatt "einzeln"
      Verändere Aufbau durch Formatierung, Verschieben, Löschen, ...
      Hänge "einzeln" ans Ende von "gesamt"
      Lösche Blatt "einzeln"
    (nachdem alle Textdateien abgearbeitet sind)
    Exportiere Blatt "gesamt" als Textdatei
    Unter gewissen Voraussetzungen ist das eigentlich kein unlösbares Problem. Aber mit dem Makro-Rekorder alleine wirst Du da nicht weit kommen. Insbesondere das "für jede Datei" wirst Du damit nicht hinbekommen.

    Eine kleine Schleife in VBA, die das Filesystem in dem Verzeichnis nach Dateien durchsucht und jede Datei dann entsprechend verarbeitet, ist aber möglich. Voraussetzung: Es sind _nur_ die zu importierenden Dateien im Verzeichnis, keine älteren aus dem Vormonat und keine "sonstigen" Dateien. Oder: Alle zu importierenden Dateien haben einen gemeinsamen "Stamm" im Dateinamen, der sich dann per Wildcards wie z.B. "??-Apr-20??_Rechnung_Nr_???.txt" filtern läßt.

    Wenn der Aufbau immer der gleiche ist, dann ist auch die Nachbearbeitung immer die gleiche und läßt sich entsprechend per Makro durchführen. Das hast Du ja auch schon realisiert.

    Dann muß das überarbeitete Ergebnis an eine Gesamt-Lisrte gehängt werden. Dazu muß nur, völlig unproblematisch, bestimmt werden, welches die erste "leere" Zeile im Gesamt-Blatt ist und dann der Kram entsprechend dort hinkopiert werden.

    Wenn dann alle Imports abgeackert sind, kann der Export als CSV-Datei dann auch automatisch erfolgen, wenn der Pfad/Dateiname klar ist oder am Anfang der Auswertung vorgegeben wurde.

    Gruß, Michael
     
    miriki, 31. Mai 2011
    #4
  5. miriki Erfahrener User
    An der Stelle eröffnet sich noch die Frage:

    Kann man die unbearbeiteten Imports nicht erst in einer Gesamt-Liste zusammenfassen, um die Überarbeitung dann einmal darauf laufen zu lassen? So rein von der Abarbeitung wäre das ökonomischer...

    Wie auch immer, ich hab da mal ein Gerüst gebastelt, das vielleicht ausbaufähig ist. Es importiert alle Dateien anhand einer Dateinamens-Maske und sammelt die in einer Gesamt-Liste. Die Routinen für Überarbeitung und CSV-Export sind vorbereitet, müssen aber noch mit Leben gefüllt werden.

    Fehler-Behandlung ist so gut wie keine implementiert. Die eine oder andere Sicherheits-Abfrage oder so wäre vielleicht nicht schlecht...

    Ach, ganz wichtig: Die Import-Routine muß an 1, 2 Stellen noch unbedingt an die bei Dir vorhandenen Textdateien angepaßt werden. Das betrifft in erster Linie die Definition der Spalten-Formate, also "text", "datum", "zahl" usw. In meinem Beispiel hab ich alles als "text" importiert, was bei Dir aber bestimmt nicht sinnvoll ist.

    Gruß, Michael
     
    miriki, 1. Juni 2011
    #5
Thema:

Makro für Import txt und Weiterverarbeitung

Die Seite wird geladen...
  1. Makro für Import txt und Weiterverarbeitung - Similar Threads - Makro Import Weiterverarbeitung

  2. Name der Datei durch Excel geändert

    in Microsoft Excel Hilfe
    Name der Datei durch Excel geändert: Hallo und guten Abend, Die Datei wird mittels Button (VBA) zwischen gesichert. Das Makro sichert zuvor die Datei und erstellt zus. eine Sicherungsdatei mit der Erweiterung Beispiel-"Sich"....
  3. Gespeicherter Import via Makro aufrufen

    in Microsoft Access Hilfe
    Gespeicherter Import via Makro aufrufen: Hallo, ich habe in einer Access Datenbank mehrere gespeicherte Importe, die ich gerne mit Hilfe eines Makros aufrufen möchte. Die Aktion für das Makro (AusführenGespeichertImportExport) habe ich...
  4. Über Makro Daten aus Dateien auslesen

    in Microsoft Excel Hilfe
    Über Makro Daten aus Dateien auslesen: Hallo zusammen! Wer kann helfen? Ich möchte ein Makro erstellen, das aus dem aktuellsten Excel-Files in einem Ordner (z.B. d:\Daten\) die Werte B7 bis B26 in meine aktuelle Excel-Datei holt und...
  5. Alle Access Importe aktualisieren per Makro

    in Microsoft Excel Hilfe
    Alle Access Importe aktualisieren per Makro: Hi zusammen! Ich habe in einer Excel Arbeitsmappe viele Access Import-Tabellen. Um diese auf einen Klick zu aktualisieren, habe ich ein makro geschrieben. Leider funktioniert dies nicht. Es...
  6. Makro kürzt Dateinamen bei Import

    in Microsoft Excel Hilfe
    Makro kürzt Dateinamen bei Import: Hi zusammen, da ich kein VBA Profi (sondern wenn überhaupt Anfänger bin) habe ich mir ein Makrocode zusammengeklaut um 20 .csv Dateien automatisiert in eine Excel zu importieren. Sinn ist, dass...
  7. EXCLE Makro zum imporieren von txt

    in Microsoft Excel Hilfe
    EXCLE Makro zum imporieren von txt: Hallo! ich bin auf der suche nach einem EXCLE makro, dass eine .txt datei importiert. Dabei soll der vorhärige import überschrieben werden. Klingt vielleicht etwas einfach aber ich habe...
  8. Makro für Import von txt-Datei (Zellbezug)

    in Microsoft Excel Hilfe
    Makro für Import von txt-Datei (Zellbezug): Hallo, mein Excel-Wissen wächst dank eures Forums jetzt minütlich. Ich möchte in meine Auswertung allerdings gern noch ein Makro einfügen. Meine Excel-Datei umfasst 1 Deckblatt und 31...
  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