2016-04-11 3 views
0
  K    L   M 
    1 Starting_Year Code  ID 
     ------------------------------------ 
    2 1982   ALLRIN  400200583 
    3 1983   ALLRIN  000083522 
    4 1983   ALLRIN  400200583 

Любой способ создать два текстовых файла, то имя будет «1982», «1983» в соответствии с «Starting_Year», и «1982» файл содержит «400200583», также Файл «1983» содержит «000083522» и «400200583».записи данных из Excel в текстовый файл

Это то, что я должен был попробовать, мне интересно, нужно ли мне использовать цикл for, чтобы поймать данные с «Starting_Year», «ID»? Любая идея, и как я могу это сделать? Большое спасибо!

Public Function CreateTextFile(FileName As String, Optional Overwrite As Boolean = True, Optional Unicode As Boolean = False) As Scripting.TextStream 

    Dim oTs as Scripting.TextStream 
    set oTs = CreateTextFile("W:\starting_Year.txt",True) 
    oTs.Write("ID") 
    oTs.close 

    End Function 
+2

Пожалуйста, разместите любые сделанные вами попытки. Также попробуйте googling 'copy row на другой лист, основанный на критериях vba', тогда google' save sheet как текстовый файл vba'. на этот ответ так много раз на этом сайте. –

+1

Пожалуйста, покажите нам, что вы пробовали. Таким образом, мы можем помочь вам и указать на любые ошибки/общие ошибки, которые вы можете сделать. В противном случае @ ScottCraner доставит вас по правильному пути. – BruceWayne

+0

Другим вариантом может быть использование команды VBA 'Write', используемой в этом примере: http://stackoverflow.com/questions/35434220/vba-replacing-commas-in-csv-not-inside-qoutes/35440236#35440236 – Ralph

ответ

1

Sub CreateTextFile() Dim ifree, iyear, I, J As Long Dim IPath As String

ipath = "C:\Users\You" 'TO UPDATE 

ifree = FreeFile 
i = 2 
While Cells(i, 1) <> "" 

    iyear = Cells(i, 1) 
    ifree = FreeFile 
    Open ipath & "\" & iyear & ".txt" For Output As ifree 

     j = 2 
     While Cells(j, 1) <> "" 
      If Cells(j, 1) = iyear Then Print #ifree, Cells(j, 3) 
      j = j + 1 
     Wend 
    Close ifree 

i = i + 1 
Wend 
End Sub 

С starting_year в Col A, код в Col B, ID в Col C.

+0

спасибо !! @crea показывает, что «Путь не найден», когда я запускаю его, ошибка возникает из «Open ipath &» \ «& iyear &. .txt« Для вывода как ifree ». нужно найти путь по-разному? –

+0

Просто установите var ipath с реальным путем;): C: \ Users \ You – crea

Смежные вопросы