Страницы: 1
RSS
Как разбить строки по признаку
 
Добрый день. Есть столбец А, в нем, например, с 1 по 6  дата 01.01.2019, начиная с 7 ячейки 02.01.2019 - как разбить даты таким образом, чтобы они отделялись одной между собой пустой ячейкой?  
 
Shantin, вы бы показали файл пример с исходными данными и желаемым результатом
Не бойтесь совершенства. Вам его не достичь.
 
Вот :) причем количество дат может меняться - помогите, плиз  
 
Только макросом

Код

Option Explicit

Sub InsertRows()
Dim i As Long, iLastRow As Long
    With Application
        .ScreenUpdating = False
        .Calculation = xlCalculationManual
        iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
        If iLastRow = 1 Then
            MsgBox "Нет данных в столбце A!", vbExclamation, "Ошибка"
            Exit Sub
        End If
            For i = iLastRow To 5 Step -1
                If Cells(i, 1) <> Cells(i - 1, 1) Then
                    Cells(i, 1).EntireRow.Insert
                    i = i - 1
                End If
            Next i
        .Calculation = xlCalculationAutomatic
        .ScreenUpdating = True
    End With
    MsgBox "Готово!", vbInformation, "Вставка строк"
End Sub
Изменено: Dyroff - 03.12.2019 16:43:07
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Код
Sub BlankRow()
Dim i As Long
Dim iLastRow As Long
 iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
  For i = iLastRow To 4 Step -1
    If Cells(i - 1, 1) <> Cells(i, 1) Then
      Rows(i).Insert
    End If
  Next
End Sub
 
Shantin, вариант из https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=8&TID=2635 Option ExplicitSub InsertRows()
Скрытый текст
Изменено: Mershik - 03.12.2019 16:36:46
Не бойтесь совершенства. Вам его не достичь.
 
Mershik,  :)  одну и ту же тему нашли.
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Dyroff, как говорится кто ищет тот найдет)))главное понимать что искать)
а у автора довольно интересные темы...нигде не отписался и ответы на его темы да/нет)
Не бойтесь совершенства. Вам его не достичь.
 
Shantin, вариант в PQ:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    group = Table.Group(Source, {"Дата"}, {"temp", each #table({"Дата"},{{null}}) & _}),
    combine = Table.Skip(Table.Combine(group[temp]),1)
in
    combine
 
pq
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Grouped = Table.Group(Source, {"Столбец1"}, {{"a", each _, type table}}),
    Custom = Table.AddColumn(Grouped, "b", each [a]&#table({"Столбец1"}, {{null}}))[[b]],
    Expanded = Table.ExpandTableColumn(Custom, "b", {"Столбец1", "Столбец2"})
in
    Expanded
 
СПАСИБО!!!!!
Страницы: 1
Наверх