2014-12-22 3 views
0

Я пытаюсь создать сценарий Excel VBA, который будет принимать 2 столбца в качестве входных данных и выводить значения в текстовый файл.Excel VBA выводит несколько столбцов в текстовый файл

например

A1: 123 B1: проспект

A2: 231 B2: другая полоса

Я после выхода в текстовый файл, который выглядит примерно так:

Номер дома: 123 Название улицы: авеню

----.

Номер дома: название 231 Улица: другой переулок

----.

В основном то, что я ищу это: "Номер дома: "+ A1 +" Название улицы:" + B2 "------"

Я получил это на работу с только 1 столбец, однако я застрял с добавлением второй.

Sub CreatetestScript() 

    If Dir("C:\test.txt") <> "" Then 
    Kill ("C:\test.txt") 
    End If 

    Sheets("test").Select 
    Dim acolumn As String 

    r = 2 
    Do While Cells(r, 1) <> "" 
     acolumn = Cells(r, 1).Value 
     run (Cells(r, 1)) 
     r = r + 1 
    Loop 

End Sub 
Sub run(ByVal acolumn As String) 

Dim fileName As String 
fileName = "C:\test.txt" 

Open fileName For Append As #1 

    Print #1, "" 
    Print #1, "House Number = " + acolumn 
    Print #1, "--------------" 

Close #1 

End Sub 

Любая помощь будет оценена

ответ

1

Вы можете пойти много направлений с этим, один из способов будет создание переменной bcolumn и установив его на индекс следующей ячейки в вашей строке:

Sub CreatetestScript() 

    If Dir("C:\test.txt") <> "" Then 
    Kill ("C:\test.txt") 
    End If 

    Sheets("test").Select 
    Dim acolumn As String 
    Dim bColumn As String 
    r = 2 
    Do While Cells(r, 1) <> "" 
     acolumn = Cells(r, 1).Value 
     bColumn = Cells(r,2).value 
     run (Cells(r, 1), Cells(r,2)) 
     r = r + 1 
    Loop 

End Sub 
Sub run(ByVal acolumn As String, ByVal Bcolumn As String) 

Dim fileName As String 
fileName = "C:\test.txt" 

Open fileName For Append As #1 

    Print #1, "" 
    Print #1, "House Number = " + acolumn 
    Print #1, "--------------" 
    Print #1, "," 
    Print #1, "Street = " + Bcolumn 
    Print #1, "--------------" 
Close #1 

End Sub 

Ваш выход может потребоваться отформатировать по-другому, но это должно привести вас к следующему. Для небольшого повторного использования вы можете настроить функцию так же, как и массив этих строк.

+0

HI, Спасибо за ответ, я получаю ошибку компиляции Аргумент не факультативное сообщение об ошибке –

+0

Я не предоставлял новое значение функции запуска. Пожалуйста, см. Мои изменения и дайте мне знать, если мы на правильном пути здесь :) –

+0

вы слишком быстро. Просто попробовал это. Спасибо за помощь –

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