Office: CSV per Makro importieren

Helfe beim Thema CSV per Makro importieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hey Leute. Ich bin irgendwie gerade am verzweifeln an einer wie ich denke recht simplen Aufgabe. Ich will auf dem Tabellenblatt 1 einen Button haben,... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Romplayer, 13. September 2014.

  1. CSV per Makro importieren


    Hey Leute.

    Ich bin irgendwie gerade am verzweifeln an einer wie ich denke recht simplen Aufgabe.
    Ich will auf dem Tabellenblatt 1 einen Button haben, wenn man draufdrückt soll eine Dateiauswahl erscheinen. Man wählt eine CSV Datei aus, klickt auf OK und Excel importiert die Daten der Datei auf ein Tabellenblatt 2, nennen wir es "Import".
    Das ist auch schon alles. Aber ich kriege es einfach nicht hin. Ich habe die letzten Stunden damit verbracht, mehrere verschiedene Lösungswege umzusetzen, die ich im Internet gefunden habe, aber nie klappt es. Entweder ich erhalte unterschiedliche Fehlermeldungen oder es wird die CSV importiert, dabei aber das Semikolon nicht als Trennzeichen erkannt, wodurch jede Zeile vom CSV in eine einzige Zelle geschrieben wird. Selbst ein eigens selbst über Excel aufgezeichnetes Makro schmeißt mir beim anschließenden Ausführen lediglich eine Fehlermeldung!

    Ich könnte jetzt die verschiedenen Code-Schnipsel hier posten, die ich probiert habe, aber einerseits halte ich das für wenig zielführend, andererseits habe ich mittlerweile selbst den Überblick verloren.
    Könnte mir bitte jemand kurz diese Funktion basteln? Und dann bin ich wirklich gespannt, ob diese endlich mal bei mir funktioniert.

    :)
     
    Romplayer, 13. September 2014
    #1
  2. Hallo Romplayer

    als kleinen Tip.
    Starte den MakroRekorder, und führe den Import händisch aus.

    Im Anschluss kann man den Code weiterbearbeiten und deinen Anforderungen gemäß anpassen.

    Grüße
     
  3. Das habe ich ja getan! Aber selbst wenn ich dann NICHTS am Code ändere, erhalte ich beim anschließenden Ausführen (während dem Aufzeichnen klappt es noch) eine Fehlermeldung.

    Laufzeitfehler '5':
    Ungültiger Prozeduraufruf oder ungültiges Argument

    Ich würde das ja noch verstehen, wenn ich was geändert hätte am Code, aber das habe ich überhaupt nicht!
    Deshalb hoffe ich darauf, dass mir jemand von euch ein funktionierendes Makro bieten kann. Normalerweise würde ich solche Anfragen nicht stellen, weil ein Forum eher Unterstützung bieten sollte anstatt fertige Lösungen... aber sämtliche fertigen Lösungen, die ich im Internet gefunden habe, und auch selbst geschriebenes kriege ich einfach nicht zum laufen. Argh.
     
    Romplayer, 15. September 2014
    #3
  4. CSV per Makro importieren

    Moin ???,

    recht verwirrend, deine Angaben ... Es könnte natürlich sein, dass die Landeseinstellungen bei dir nicht auf Deuschland stehen, was einiges (aber nicht alles) erklären würde.

    Hier mal ein Link zu Excel-ist-sexy, wo du noch mehr zum Thema findest, wenn du in das Suchfeld oben rechts csv eingibst. Und nicht umsonst wiederholen wir Helfer immer wieder gebetsmühlenartig, dass füe fundierte Hilfe eine Musterdatei erforderlich ist.
     
  5. Dateiauswahl und Import sind schon mal zwei unterschiedliche Teilaufgaben, die man auch erst einmal einzeln lösen kann, was dann nicht ganz so verwirrend ist ...

    Ein Link für die eine Teilaufgabe: Textdateien einlesen simpel
     
  6. Hallo,

    CSV-Dateien kannst du (fast) ganz normal öffnen und den Inhalt kopieren.

    Code:
     
  7. So... neuer Tag, neue Motivation.
    Meine Quelldatei habe ich euch gestern nicht angehängt, weil sie zu chaotisch war, mit vielen Auskommentierungen etc aufgrund den vielen Änderungen und Tests, die ich durchgeführt habe. Ich glaube das hat irgendwann auch zu meinem Frust beigetragen, weil dadurch sicherlich auch irgendwelche Fehler entstanden sind.
    Jetzt habe ich mich nochmal rangesetzt und das ganze in eine Ordnung gebracht und mögliche Fehlerquellen aussortiert. Bittesehr:

    Mein erster Versuch, den ich selbst geschrieben habe, sieht (leicht verkürzt) so aus:
    Code:
    Leider hat da die Semikolon-Trennung nicht funktioniert.
    Also habe ich ein wenig recherchiert und den Teil, den ich mit "Reinkopieren" markiert habe, ersetzt durch folgenden Teil:

    Code:
    Da schmeißt mir Excel leider einen Fehler. Hab da also offenbar zwei Sachen vermischt, die nicht zusammen gehören.
    Also gut, stattdessen einen komplett von irgendwo ausm Internet kopierten Code verwendet anstatt nur einen Ausschnitt davon. Sah dann so aus:

    Code:
    Funktioniert genauso gut wie meine selbstgeschriebene Methode, sprich die Semikolon-Trennung läuft immer noch nicht.
    Also habe ich mal mit dem Makro-Rekorder aufgezeichnet, was passiert wenn man über die Excel-GUI eine CSV importiert und dabei nach jedem Semikolon trennt. Das Ergebnis war folgendes:

    Code:
    Und dieser Code funktioniert aus einem mir total unerfindlichen Gründen überhaupt nicht. Da wird er von Excel selbst generiert, von mir nicht geändert, aber trotzdem schmeißt mir das Teil nen Fehler. Dabei habe ich noch nichtmal angefangen, die Dateiauswahl variabel zu gestalten, die csv-Datei ist noch hardgecoded drin. Aber selbst da streikt Excel ja schon.


    So weit bin ich jetzt also. Zwei Methoden, die ohne Semikolon-Trennung funktionieren (da probiere ich gerade rum), zwei die überhaupt nicht funktionieren.
     
    Romplayer, 15. September 2014
    #7
  8. CSV per Makro importieren

    Sieh dir Beitrag #6 an.
     
  9. Hallo Romplayer,

    was kommt denn für ein Fehler bei dem selbstaufgezeichneten Code?

    Nur mal so als idee..

    häufig Streikt excel wenn die
    1. Datei bereits irgendwo geöffnet ist
    2. das Sheet bereits vorhanden ist
    3. Man einem Sheet einen Namen geben will, welcher bereits existiert--


    Grüße
     

  10. Hey xlph!
    Genau so etwas simples habe ich gesucht und eigentlich erwartet. Der Code funktioniert auch einwandfrei! *Sun
    Was ich gerade aber nicht verstehe, ist wieso meine selbstgeschriebene Methode 1 nicht funktioniert. Ich habe die gerade mit deiner verglichen, irgendwie sehe ich da keinen großen Unterschied (außer dass ich natürlich ne Menge Overhead habe).

    Meine Methode sieht ja gekürzt so aus:

    Code:
    Wo ist denn da der relevante Unterschied zu deiner Datei? Wieso trennt deine nach dem Semikolon, meine aber nicht?




    @jack_D: Die Fehlermeldung beim Makro-Rekorder ist folgende:

    Laufzeitfehler '5':
    Ungültiger Prozeduraufruf oder ungültiges Argument

    Der Debugger markiert mir dann die Zeile
    .CommandType = 0
    Kommentiere ich sie aus, wird direkt die nächste Zeile markiert.
    Keine Ahnung was der für ein Problem hat.

    Zu deinen Fehlerquellen:
    1. Die csv-Datei ist nicht parallel offen
    2. Das Sheet, in das er reinkopieren soll, ist vorhanden. Aber das war es ja bereits beim Aufzeichnen vom Makro.
    3. Dürfte hier nicht relevant sein, weil kein Sheet erstellt wird.
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Romplayer, 15. September 2014
    #10
  11. Local:=True
     
  12. Ooooooh...
    Danke!
    Dass sicher der Seperator bei csv-Dateien im Englischen und Deutschen unterscheiden war mir bekannt, aber ich dachte dass Excel immer die im Programm eingestellte Sprache als Basis nimmt, und die hätte ja gepasst bei meiner Semikolon-CSV. Offenbar tut Excel das aber doch nicht von alleine. Vielen Dank! Beruhigt mich außerdem zu wissen, dass meine selbstgeschriebene Methode im Grunde richtig war bis auf diese Kleinigkeit.
     
    Romplayer, 16. September 2014
    #12
  13. CSV per Makro importieren

    Hallo alle zusammen,

    auch ich hatte das gleiche Problem:

    Als nicht-programmierbefähigt habe ich den Datenimport bei Excel mit Makro aufgezeichnet, aber auch immer die gleiche Fehlermeldung erhalten:

    Laufzeitfehler '5':
    Ungültiger Prozeduraufruf oder ungültiges Argument

    Der Debugger markierte mir dann die Zeile
    .CommandType = 0

    Nach langer Recherche in verschiedenen Foren wurde ich dann in einem englischen-sprachigen fündig:

    Einfach die Zeile .CommandType = 0 im Debugger rauslöschen - danach hat es bei mir wunderbar funktionert!
     
Thema:

CSV per Makro importieren

Die Seite wird geladen...
  1. CSV per Makro importieren - Similar Threads - CSV Makro importieren

  2. Makros für csv-Export mit Anführungszeichen für ausgewählte Splaten

    in Microsoft Excel Hilfe
    Makros für csv-Export mit Anführungszeichen für ausgewählte Splaten: Hallo liebe Forengemeinde, ich habe folgendes Problem: Ich muss eine csv-Datei bearbeiten und anschließend wieder als csv-Datei speichern. In der Originaldatei sind einige Spalteninhalte in in...
  3. Makro Probleme CSV Format

    in Microsoft Excel Hilfe
    Makro Probleme CSV Format: Hallo, ich habe mir von jemanden eine Excel Datei überarbeiten lassen, damit zukünftig per Makro gewisse Arbeitsblätter direkt als CSV.-Datei abgespeichert werden können. Leider akzeptiert das...
  4. CSV-Daten per Makro einbinden - manuelle Wahl der Quelldatei

    in Microsoft Excel Hilfe
    CSV-Daten per Makro einbinden - manuelle Wahl der Quelldatei: Liebe Excel-Gemeinde, ich möchte CSV-Daten in eine bereits geöffnete Arbeitsmappe laden. Sie sollen nach jedem Laden eines Datensatzes auf einem anderen Arbeitsblatt dargestellt werden, das den...
  5. VBA Makro einfügen CSV, verarbeiten und abspeichern

    in Microsoft Excel Hilfe
    VBA Makro einfügen CSV, verarbeiten und abspeichern: Hallo zusammen, erstmal vorab meine VBA Kenntnisse sind sehr rudimentär. Aufgabenstellung in Kurz: Ich hab 2 Dateien, eine Hauptdatei (IDXXXX_8x8_GV-contrast.xlsm) und eine CSV die...
  6. per Makro VBA csv durchsuchen und Tabellen anlegen

    in Microsoft Excel Hilfe
    per Makro VBA csv durchsuchen und Tabellen anlegen: Hallo Liebes MS Office Forum Gemeinde, vor ab finde ich super das es eine Plattform gibt um mit anderen Personen Themen über MS Office Probleme, Lösungen Ansätze zu teilen. VBA ist für mich...
  7. 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...
  8. Dateiname in Zellen abspeichern, automatisiert

    in Microsoft Excel Hilfe
    Dateiname in Zellen abspeichern, automatisiert: Schönen guten Tag, ich habe aus einer Messreihe mehrere CSV-Dateien erzeugt, die folgende Struktur besitzen, siehe Ausschnitt: [ATTACH] Die ersten vier Spalten sind jeweils mit Werten gefüllt...
  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