Запись данных из массива в файл *.csv - VBA

Узнай цену своей работы

Формулировка задачи:

В процессе доработки макроса, вытягивающего из страницы excel номера телефонов столкнулся с проблемой. Все работает как задумывалось, в конце обработки макрос пишет в файл, НО(!) в конце файла *.csv (разделители: точка с запятой), ставится перенос строки. Программа, в которую загружается список телефонов из-за того переноса не может импортировать, выдавая ошибку. Может кто подсказать как избавиться от этого? P.S. в ячейке (3,1) содержится строка, в конце которой прописана дата отчета.
Листинг программы
  1. Sub Search()
  2. Dim i As Integer
  3. Dim r()
  4. Dim Filename as String
  5. Dim sh As Excel.Worksheet
  6. Set sh = ActiveWorkbook.Worksheets(1)
  7. Filename = "\\192.168.2.1\vba\за " & Right(sh.Cells(3, 1).text, 10) & ".csv"
  8. Open Filename For Output As #1
  9. For i = 1 To UBound(r)
  10. If r(i, 1) <> "" Then
  11. Print #1, r(i, 1) & ";" & r(i, 2)
  12. Else
  13. Exit For
  14. End If
  15. Next
  16. Close #1
  17. MsgBox ("файл сохранен: " & Filename)
  18. End Sub

Решение задачи: «Запись данных из массива в файл *.csv»

textual
Листинг программы
  1. Dim f As Boolean
  2. Open Filename For Output As #1
  3.     For i = 1 To UBound(r)
  4.         If r(i, 1) <> "" Then
  5.             If f Then Print #1, 'не первая строка
  6.            Print #1, r(i, 1) & ";" & r(i, 2);
  7.             f = True
  8.             Else
  9.             Exit For
  10.         End If
  11.     Next
  12. Close #1

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы