Office: VBA Excel Import Datei ändern

Helfe beim Thema VBA Excel Import Datei ändern in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Zusammen, ich bin neu in der VBA Programmierung und muss eine Text Datei in ein Excel Importieren. Das bekomme ich auch gut hin. Aber das wars... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Peter.Juergen, 8. Dezember 2019.

  1. VBA Excel Import Datei ändern


    Hallo Zusammen,


    ich bin neu in der VBA Programmierung und muss eine Text Datei in ein Excel Importieren. Das bekomme ich auch gut hin.
    Aber das wars dann auch schon..

    Das Problem ist das meine Text Datei sehr viele Leerzeichen besitzt. Beispiel siehe Text Datei Anhang (sind wirklich durch Leerzeichen getrennt kein Tap)

    Für die Erste Zeile mit Vorname Nachname etc. habe ich in Excel bereits Felder erstellt in die die Zuweisung stattfinden sollte. Diese habe ich dann in der .txt Datei gelöscht und dienen nur euch zur Übersicht.

    Meine Frage daher wie splitte ich das so auf das jeder Wert Sinnvoll in einer eigene Zelle drinsteht?(Leerzeichen entfernen und durch ; ersetzen ?)


    Mein Code Bisher wie folgt:
    Option Explicit


    Sub InformationenImportieren()

    'Variablen definieren
    Dim QuellDatei As String 'Speicherort der TextDatei
    Dim Zeile As Integer 'Laufvariable
    Dim Inhalt As String 'Inhalt der TextDatei


    'Tabellenblatt aktivieren
    ThisWorkbook.Worksheets("Tabelle1").Activate

    'Startwerte zuweisen
    Zeile = 4

    'QuellDatei ansprechen
    QuellDatei = ThisWorkbook.Path & "Test1.txt"

    'QuellDatei öffnen
    Open QuellDatei For Input As #1

    'Informationen ins Tabellenblatt eintragen
    Do While Not EOF(1) 'EOF = EndOfFile

    'inhalt der Quelldatei Zeilenweise einlesen
    Line Input #1, Inhalt

    'Wert ins Tabellenblatt eintragen
    ActiveSheet.Cells(Zeile, 2) = Inhalt

    Zeile = Zeile + 1

    Loop

    'QuellDatei schließen
    Close #1


    End Sub

    hier wird alles importiert und alles in die erste Zelle einer jeden Spalte geschrieben.

    in der Text Datei sind oben noch Name Vorname etc zu sehen. Für diese habe ich in Excel bereits Zellen erstellt wo die Sachen dann rein sollen.
    Sie dienen in der Text Datei nur zu Orientierung.

    Wäre super wenn mir jemand zeigen könnt wie da meine VBA Kenntnisse gering sind.
    Danke, Gruß Peter

    :)
     
    Peter.Juergen, 8. Dezember 2019
    #1
  2. Hallo Peter,

    bei der Textdatei handelt es sich um eine Textdatei mit festen Feldlängen. Diese solltest du vom Hersteller erfahren. Du kannst diese aber auch durch Auswerten der Überschrift selbst ermitteln. Soweit ich sehe haben Name (11 Zeichen), Vorname (21), VBN (11), KLE (21), etc. Und genau so teilst du den Inhalt der ersten Zelle auf.

    Gruß
    Sigi
     
    Sigi.21, 9. Dezember 2019
    #2
  3. Hallo Sigi,

    danke für deine Antwort klingt logisch mit welcher Anweisung kann man das aufteilen ?

    Gruß Peter
     
    Peter.Juergen, 9. Dezember 2019
    #3
  4. VBA Excel Import Datei ändern

    Hallo Peter,

    die Funktion heißt in Excel =Teil(Erstes_Zeichen; Anzahl_Zeichen))
    in VBA =Mid(String, Start (as Long), [Length])

    Die eingelesene Zeile heißt "Inhalt":
    Also: Feld1 = Mid(Inhalt, 1, 11)
    usw.

    Gruß
    Sigi
     
  5. Hallo Sigi,

    wahrscheinlich stelle ich mich sau blöd an aber ich bekomme es immer noch nicht hin..
    bei meinem Versuch einer Zelle den Wert mit deinem Beispiel zuzuweisen passiert nichts.

    Range("N4").Value = Mid(Inhalt, 1, 11)

    weist du warum das so ist ?

    Danke, Gruß Peter
     
    Peter.Juergen, 10. Dezember 2019
    #5
  6. Hallo Peter,

    ich weiß ja nicht an welcher Stelle du die Zuweisung vornimmst. Das muss an der richtigen Stelle sein, wann "Inhalt" zur Verfügung steht. Du hast eine Schleife:

    Do While Not EOF(1) 'EOF = EndOfFile

    'inhalt der Quelldatei Zeilenweise einlesen
    Line Input #1, Inhalt
    'Wert ins Tabellenblatt eintragen
    ''ActiveSheet.Cells(Zeile, 2) = Inhalt
    ActiveSheet.Cells(Zeile, 2) = Mid(Inhalt, 1, 11) 'für Name
    ActiveSheet.Cells(Zeile, 3) = Mid(Inhalt, 12, 21) 'für Vorname
    ActiveSheet.Cells(Zeile, 4) = Mid(Inhalt, 23, 11) 'usw.

    Zeile = Zeile + 1

    Loop
     
  7. Schau Dir mal die Importfunktion an:
    - Daten / Externe Daten abrufen / Text
    - dort: Datei wählen, Importspezifikationen angeben (Feste Breite, Breiten im nächsten Schritt festlegen und WICHTIG! Datentyp pro Spalte festlegen)

    Fertig. Kein Makro erforderlich.
     
    EarlFred, 10. Dezember 2019
    #7
  8. VBA Excel Import Datei ändern

    Hallo Sigi,

    Danke! Das Funktioniert ich hatte nicht versanden das Inhalt nicht nur an bestimmten Stellen zu Verfügung steht.
    Vielen Dank !
     
    Peter.Juergen, 10. Dezember 2019
    #8
Thema:

VBA Excel Import Datei ändern

Die Seite wird geladen...
  1. VBA Excel Import Datei ändern - Similar Threads - VBA Excel Import

  2. VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.

    in Microsoft Excel Hilfe
    VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.: Hallo zusammen, Eine Tabelle mit 9 Worksheets, Datenblatt, Studien, Studie_1 ...Studie_7. Auf dem Deckblatt werden in Zelle B4-B10 die Namen der Studien eingetragen. Davon abhängig ob ein Name...
  3. Excel VBA Spalten mit Ordnerinhalt vergleichen

    in Microsoft Excel Hilfe
    Excel VBA Spalten mit Ordnerinhalt vergleichen: Hallo, Bin ehr Excel VBA Neuling, Würde aber gerne in einer bestehender Tabelle die Auflistung der Ordner mit dem eigentlichen Stand in den besagten Ordner kontrollieren. Also in der Spalte Q10...
  4. Array aus Excel Tabelle einlesen Word VBA

    in Microsoft Excel Hilfe
    Array aus Excel Tabelle einlesen Word VBA: Hallo, ich benötige in einer Word Datei die Werte einer Excel Datei. Ich würde gerne eine Spalte als Array einlesen. Wie das Array ein lesen in Excel geht weiß ich, aber wie schaffe ich den...
  5. Dynamische Tabellen mit automatischer Aktualisierung

    in Microsoft Excel Hilfe
    Dynamische Tabellen mit automatischer Aktualisierung: Hallo in die Runde! Vorab schon mal vielen Dank für alle Mühen und die Hilfe! Ich habe folgendes Anliegen: Ich habe eine Geräteliste als Excel Datei mit einigen verschiedenen Tabellenblättern...
  6. (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?

    in Microsoft Excel Hilfe
    (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?: Liebe Experten, Gefilterte Daten sollen in ein Listobject übertragen werden. Für das Listobject habe ich ein Template angelegt, dass alle Formatierungen (u.a. bedingte Formatierung etc.) enthält....
  7. Speichern mit dem Titel der Zelle A2

    in Microsoft Excel Hilfe
    Speichern mit dem Titel der Zelle A2: Moin moin, Ich habe per Makro einen Arbeitsablauf aufgezeichnet der soweit auch funktioniert. Dieser Endet jedoch im "Speichern Unter" Fenster, welches durch das Klicken von "Drucken als PDF"...
  8. TXT-Import brauchbar machen

    in Microsoft Excel Hilfe
    TXT-Import brauchbar machen: Hallo zusammen, mein Problem sieht wie folgt aus. In regelmäßigen Abständen erhalte ich Daten als txt, die in Excel importiert werden müssen. Das importierte Format kann nur mit sehr viel...
  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