Страницы: 1
RSS
Как перенести заполненную строку в конец файла csv
 
Всем здравствуйте! В Экселе пока новичок но работа вынуждает заниматься саморазвитием.
Прошу помощи в следующей проблемке.
Есть таблица с данными. В случае если в ячейке столбца Е есть данные, эту строку перенести в конец файла csv "Данные" (см.файл), а из самой таблицы экселя удалить. Видела подобное только при переносе на другой лист.
Код
Private Sub Worksheet_Change(ByVal Target As Range)   
 With Sheets("Лист1" )
        .Select
        If Target.Count > 1 Then Exit Sub
        If Not Intersect(Target, [g:g] ) Is Nothing And Target.Value > "" Then
        .Rows(Target.Row).Copy Sheets("Лист2" ).Rows(WorksheetFunction.CountA(Sheets("Лист2" ).[a:a] ) + 1)
        .Rows(Target.Row).Delete
        End If
    End With
End Sub
Спасибо всем за помощь!
 
Код
Sub Milana()
Dim r As Range, c As Range, t$(-4 To 0), i&, f%
On Error Resume Next
Set r = Range("E2", Cells(Rows.Count, "E")).SpecialCells(xlCellTypeConstants)
If Not r Is Nothing Then
  f = FreeFile
  Open ActiveWorkbook.Path & "\Данные.csv" For Append As f
  If Err Then MsgBox "Не удалось открыть 'Данные.csv'", vbCritical: Exit Sub
  For Each c In r
    For i = -4 To 0
      t(i) = c.Offset(, i).Text
    Next
    Print #f, Join$(t, ";")
  Next
  Close f
  r.EntireRow.Delete
Else
  MsgBox "Пустой столбец Е", vbInformation
End If
End Sub
 
Какзанский! Спасибо Вам большое. Я уж было даже перестала надеяться на помощь. Замечательно. :*:D
Страницы: 1
Наверх