2013-05-21 10 views
5

Ho un foglio di calcolo di Excel 2010 e sto leggendo le informazioni da un file .txt (e un altro file .xls in futuro).Leggere i dati dal file di testo e delimitare

Questo file di testo ha 3 elementi per riga; firtname, cognome e titolo del lavoro, e ogni elemento è separato da una virgola. Ho i dati che leggono e incollano in Excel, tuttavia ogni riga viene incollata nell'unica cella. Sto cercando di incollare ogni elemento in diverse colonne. So che dovrei provare a delimitare, ma non riesco a capire la sintassi.

La mia domanda è come separare ciascun elemento e incollarlo nella propria cella? Attualmente utilizzo le virgole per separare ogni elemento nel mio file .txt, ma i file futuri potrebbero usare tabulazioni, punti fermi, punti e virgola ecc. Come posso estenderlo in modo che tutte le basi siano coperte?

Qui di seguito è il mio codice, e sotto il mio codice è un esempio di dati fittizi

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, Direttore

Jane, Smith, Impiegato

NOTA: Competente in altri linguaggi di programmazione, tuttavia non eseguito VB in circa 6 o 7 anni. Non riesco mai a capire la sintassi VB, quindi per favore mi tratti come un novizio per questo.

risposta

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 

Per different delimiters, make use of the answers in here

+0

Manca qualcosa sul 'Per j = 1 a ...' –