2013-05-21 10 views
5

Mam arkusz kalkulacyjny Excel 2010 i czytam informacje z pliku .txt (i innego pliku .xls w przyszłości).Odczytywanie danych z pliku tekstowego i rozgraniczenia

Ten plik tekstowy zawiera 3 elementy w rzędzie; nazwisko, nazwisko i stanowisko, a każdy element jest oddzielony przecinkiem. Mam odczyt danych i wklejanie do programu Excel, jednak każdy wiersz jest wklejany do jednej komórki. Szukam wklejenia każdego elementu w różnych kolumnach. Wiem, że powinienem próbować ograniczać, ale po prostu nie mogę zrozumieć składni.

Moje pytanie brzmi: jak oddzielić każdy element i wkleić go do własnej komórki? Obecnie używam przecinków, aby oddzielić każdy element w moim pliku .txt, ale przyszłe pliki mogą używać kart, kropek, średników itd. W jaki sposób mogę go rozszerzyć, aby wszystkie bazy były pokryte?

Poniżej jest mój kod, a pod moim kod jest próbka danych fikcyjnych

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

Jane Smith, urzędnik

UWAGA: Kompatybilny z innymi językami programowania, jednak nie wykonano VB w ciągu około 6 lub 7 lat. Nigdy nie wydaje mi się, żebym owinął mi głowę wokół VB Syntax, więc proszę traktuj mnie jak nowicjusza.

Odpowiedz

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 

Dla different delimiters, make use of the answers in here

+0

czegoś brakuje na 'Dla j = 1 ...' –

Powiązane problemy