2010-02-26 5 views
1

Мне нужно сделать файл excel, который имеет некоторые значения в нем .. в текстовом файле с разделителями вкладок .... solution 1 -i может сохранить его как текстовый файл с разделителями разделов. Но проблема в том, что он также сохраняет заголовки столбцов, которые мне не нужны. Не знаю, как это изменить!TAB отдельный файл txt из Excel VBA/MACRO

раствор 2 - у меня есть этот код:

Public Sub CharacterSV() 
    Const DELIMITER As String = " |" 
    Dim myRecord As Range 
    Dim myField As Range 
    Dim nFileNum As Long 
    Dim sOut As String 

    nFileNum = FreeFile 
    Open "Test.txt" For Output As #nFileNum 
    For Each myRecord In Range("A2:A" & _ 
       Range("A" & Rows.Count).End(xlUp).Row) 
     With myRecord 
      For Each myField In Range(.Cells, _ 
        Cells(.Row, Columns.Count).End(xlToLeft)) 
       sOut = sOut & DELIMITER & myField.Text 
      Next myField 
      Print #nFileNum, Mid(sOut, 2) 
      sOut = Empty 
     End With 
    Next myRecord 
    Close #nFileNum 
End Sub 

Теперь я могу контролировать, какие клетки на вкладку отдельно с функцией «Range» в моем code..however..how ли я указать вкладку разделитель «Const DELIMITER» вместо разделителя труб? Также ... кажется, что добавляет делитель перед первым значением (т. Е. Из первой ячейки), как я могу заставить его начинать с первого значения (но включать в себя первое значение ячейки в файле txt?)

ответ

4

how do i specify the tab delimiter "Const DELIMITER " instead of the pipe separator?

для выше, вы можете использовать vbTab

+0

СПАСИБО ... !! РАБОТЫ. Как я могу добавить сообщение? – andreas

+0

@andreas Если вы спрашиваете, как вы отмечаете это как принятый ответ, есть отметка слева от нее под стрелками вверх и вниз. – SandPiper

2

Also..it, кажется, добавить разделители до первого значения (т.е. от первой ячейки), как я делаю это, чтобы начать из после первого значения (но включает в себя первое значение ячейки в t он текстовый файл)

Эта строка кода:?

sOut = sOut & DELIMITER & myfield.txt 

добавляет разделитель первого, потому что первый раз через петлю, SOUT = "". Измените этот код:

sOut = sOut & myfield.txt & DELIMITER 

Затем после того, как ваш цикл закончится, если вы не хотите, дополнительный ограничитель на конце, используйте декоративную операцию, чтобы удалить его.

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