2013-05-21 17 views
5

Ich habe eine Excel 2010-Tabelle, und ich lese Informationen aus einer TXT-Datei (und eine andere .xls-Datei in Zukunft).Lesen von Daten aus Textdatei und Abgrenzung

Diese Textdatei hat 3 Elemente pro Zeile; Vorname, Nachname und Berufsbezeichnung, und jedes Element wird durch ein Komma getrennt. Ich habe die Daten in Excel lesen und einfügen, aber jede Zeile wird in die eine Zelle eingefügt. Ich versuche, jedes Element in verschiedene Spalten einzufügen. Ich weiß, dass ich versuchen sollte, zu begrenzen, aber ich kann einfach nicht die Syntax herausfinden.

Meine Frage ist, wie kann ich jedes Element trennen und es in seine eigene Zelle einfügen? Ich verwende derzeit Kommas, um jedes Element in meiner .txt-Datei zu trennen, aber zukünftige Dateien könnten Registerkarten, ganze Punkte, Semikolons usw. verwenden. Wie erweitere ich es, so dass alle Grundlagen abgedeckt sind?

Unten ist mein Code, und unter meinem Code ist ein Beispiel von Dummy-Daten

Sub FetchDataFromTextFile() 
    Dim i As Long 
    Dim LineText As String 
    Open "C:\mytxtfile.txt" For Input As #24 
    i = 2 
    While Not EOF(24) 
     Line Input #24, LineText 
     ActiveSheet.Cells(i, 2).Value = LineText 
     P = Split(Record, ",") 
     i = i + 1 
    Wend 
    Close #24 
End Sub 

John, Doe, Boss

Johnny, Steele, Manager-

Jane Smith, Mitarbeiter

HINWEIS: Wettbewerber in anderen Programmiersprachen, jedoch nicht VB in etwa 6 oder 7 Jahren. Ich kann nie den Kopf um VB Syntax wickeln, also behandle mich bitte wie ein Neuling dafür.

Antwort

3
Sub FetchDataFromTextFile() 
    Dim i As Long 
    Dim LineText As String 
    Open "C:\mytxtfile.txt" For Input As #24 
    i = 2 
    While Not EOF(24) 
     Line Input #24, LineText 
      Dim arr 
      arr = Split(CStr(LineText), ", ") 
      For j = 1 To 
       ActiveSheet.Cells(i, j).Value = arr(j - 1) 
      Next j 
      i = i + 1 
    Wend 
    Close #24 
End Sub 

Für different delimiters, make use of the answers in here

+0

fehlt etwas auf 'Für j = 1 To ...' –