Помогите решить может не трудную, но очень нужную задачу. Есть история переписки, которую нужно отфильтровать по дате и отформатировать. После копирования в Excel история выглядит так: ДАТА - рядом с датой АВТОР, а сразу под датой ТЕКСТ сообщения. Т.е. дата и само сообщение стоят в одном столбце, а имя автора в соседнем, поэтому отфильтровать по дате не получается. К тому же каждый перенос строки в сообщении образовал новую строку в excel. Нужно перенести текст сообщения из под даты в ячейку справа, под имя автора, и желательно, чтобы весь текст занял одну ячейку, а не несколько строк, как сейчас. Буду благодарен за любую помощь или отсылку к нужным материалам. В приложении файл с 2 листами. На первом как есть сейчас, на втором - как нужно. Вручную - не вариант, т.к. сообщений несколько тысяч...
Помогите решить может не трудную, но очень нужную задачу. Есть история переписки, которую нужно отфильтровать по дате и отформатировать. После копирования в Excel история выглядит так: ДАТА - рядом с датой АВТОР, а сразу под датой ТЕКСТ сообщения. Т.е. дата и само сообщение стоят в одном столбце, а имя автора в соседнем, поэтому отфильтровать по дате не получается. К тому же каждый перенос строки в сообщении образовал новую строку в excel. Нужно перенести текст сообщения из под даты в ячейку справа, под имя автора, и желательно, чтобы весь текст занял одну ячейку, а не несколько строк, как сейчас. Буду благодарен за любую помощь или отсылку к нужным материалам. В приложении файл с 2 листами. На первом как есть сейчас, на втором - как нужно. Вручную - не вариант, т.к. сообщений несколько тысяч...sejunctus
Продлеваете формулы вниз, столбец ЦЦ копируете, вставляете через спецвставку значениями, фильтруете столбец УУ по =0 (как у меня в файле) и удаляете эти строки (Выделить ячейки - Главная - найти и выделить - Выделение группы ячеек - только видимые ячейки - прав кн мыши - удалить - строки)
Продлеваете формулы вниз, столбец ЦЦ копируете, вставляете через спецвставку значениями, фильтруете столбец УУ по =0 (как у меня в файле) и удаляете эти строки (Выделить ячейки - Главная - найти и выделить - Выделение группы ячеек - только видимые ячейки - прав кн мыши - удалить - строки)_Boroda_
Можно так (запускать с листа с исходными данными, лист на который будет выводиться таблица назвать "Как нужно"[vba]
Код
Sub TT() Dim L As Long: L = Cells(Rows.Count, 1).End(xlUp).Row Dim L2 As Long L2 = 1 With Sheets("Как нужно") For I = 1 To L If IsDate(Cells(I, 1)) Then .Range("A" & L2 & ":B" & L2).Value = Range("A" & I & ":B" & I).Value L2 = L2 + 1 Else .Cells(L2, 2) = Trim(.Cells(L2, 2) & " " & Cells(I, 1)) If IsDate(Cells(I + 1, 1)) Then L2 = L2 + 1 End If Next I End With End Sub
[/vba]
Можно так (запускать с листа с исходными данными, лист на который будет выводиться таблица назвать "Как нужно"[vba]
Код
Sub TT() Dim L As Long: L = Cells(Rows.Count, 1).End(xlUp).Row Dim L2 As Long L2 = 1 With Sheets("Как нужно") For I = 1 To L If IsDate(Cells(I, 1)) Then .Range("A" & L2 & ":B" & L2).Value = Range("A" & I & ":B" & I).Value L2 = L2 + 1 Else .Cells(L2, 2) = Trim(.Cells(L2, 2) & " " & Cells(I, 1)) If IsDate(Cells(I + 1, 1)) Then L2 = L2 + 1 End If Next I End With End Sub