2016-09-12 2 views
-1

My Excel файл выглядит следующим образомExcel-Экспорт отдельных столбцов в несколько текстовых файлов VBA

new_filename MEDIA_ID SIGHTING_ID FRAME FACE_X FACE_Y FACE_WIDTH 
28069_00000.png 28069   15775  0 309.715 16.714 141 
28069_00060.png 28069   15776  60 318  17  136.57 
28069_00075.png 28069   15777  75 325.857 18  138.571 
28069_00135.png 28069   15778  135 343.428 30.5757 134.1428 
28069_00195.png 28069   15779  195 323.333 18  155.333 
28069_00255.png 28069   15780  255 278.243 15.2857 138 
28069_00315.png 28069   15781  315 284  18.8  137.85 

Я хотел бы, чтобы извлечь значения из некоторых столбцов, как facex, Facey, ширина лица и высоты лица и сохранить распакованные значения в текстовом файле, имеющем значение в новом столбце имени файла, как имя текстового файла.

Я хотел бы повторить ту же процедуру для почти 3000 строк.

Таким образом, txt-файл 1 должен иметь значения (2, c6) (2, c7) (2, c8) и должен быть назван как (2, c1) и т. Д. Для всех строк. Достаточно ясно?

+1

Помогите с чем? Что конкретно * является проблемой, мешающей вам достичь этого? –

+0

Что случилось с выбором всего столбца из «FACE_X», копирование в новую книгу и сохранение? Количество строк не имеет значения. Если вы хотите определить * какие * ячейки для извлечения, вы, возможно, можете использовать формулу «Index/Match», чтобы показывать только те строки, которые соответствуют любым критериям. что ты уже испробовал? – BruceWayne

+0

Вы действительно будете путать вещи, если сохраните текст в файле с расширением '.png'. – YowE3K

ответ

1
Sub Test() 
    Dim r As Long 
    With ActiveSheet 

     r = 2 
     Do While .Cells(r, 1).Value <> "" 
      Open .Parent.Path & "\" & Left(.Cells(r, 1).Value, Len(.Cells(r, 1).Value) - 4) & ".TXT" For Output As #1 
      Print #1, .Cells(r, 6).Value & "," & .Cells(r, 7).Value & "," & .Cells(r, 8).Value 
      Close #1 
      r = r + 1 
     Loop 

    End With 
End Sub 
Смежные вопросы