Страницы: 1
RSS
Объединение данных до пустой строки
 
Приветствую всех! Подскажите пожалуйста по следующей ситуации.
Введение
Имеется выгруженная с SAP таблица с наименованиями объектов и количеством(всегда 1).
Некоторые наименования объектов ввиду своей длины разбиты на несколько строк.
Необходимо склеить разбитые наименования.

Нашел макрос(приложение 1, лист "макрос"), склеивающий значения строк до пустой ячейки.

Вопрос
Как добавить условие в макрос, чтобы он склеивал значения в столбце с наименованиями а условие(до пустых ячеек) проверялось на столбце с количеством, т.е. проверка условия в одном столбце, а действия в другом столбце. (Мне кажется, что это самый оптимальный подход для решения этой задачи).

П.с. Может быть вы видите другой(более легкий) способ решения этой задачи?
Изменено: abdulov.777 - 21.10.2019 15:56:30
 
abdulov.777, Можно так
Код
Sub Макрос1()
Dim lr As Long, i As Long
lr = Cells(Rows.Count, "B").End(xlUp).Row
For i = lr To 2 Step -1
  If Cells(i, 2) = "" Then
    Cells(i - 1, 1) = Cells(i - 1, 1) & Cells(i, 1)
    Rows(i).Delete
  End If
Next
End Sub
 
Вариант на PQ:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    AddedIndex = Table.AddIndexColumn(Source, "Индекс", 0, 1),
    AddedCustom = Table.AddColumn(AddedIndex, "Группа", each if [количество] = null then null else [Индекс]),
    FilledDown = Table.FillDown(AddedCustom,{"Группа"}),
    GroupedRows = Table.Group(FilledDown, {"Группа"}, {{"таб", each Table.FromColumns( {{Text.Combine( _[Наименование] )}, _[количество]}, Table.ColumnNames(Source) ), type table}}),
    Out = Table.Combine( GroupedRows[таб] )
in
    Out
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх