Столкнулся с проблемой: программа автоматизации выгружает мне отчет по дисконтным картам, где данные представленны в порядке возрастания НОМЕРОВ КАРТ. Мне же нужно как-то отсортировать в порядке убывания суммы на каждой карте.
Проблема в том, что каждая карта содержит разную детализацию по товарам, т.е кол-во строк, которые нужно объединить для решения этой проблемы везде разное.
Прикрепляю фрагмент отчета.
Помогите, пожалуйста, моих знаний не хватает.
День добрый!
Столкнулся с проблемой: программа автоматизации выгружает мне отчет по дисконтным картам, где данные представленны в порядке возрастания НОМЕРОВ КАРТ. Мне же нужно как-то отсортировать в порядке убывания суммы на каждой карте.
Проблема в том, что каждая карта содержит разную детализацию по товарам, т.е кол-во строк, которые нужно объединить для решения этой проблемы везде разное.
Прикрепляю фрагмент отчета.
Помогите, пожалуйста, моих знаний не хватает.zagmag-1
Максро подставляет в допостолбец общую суму по карте. Просто сортируете по этому столбцу[vba]
Код
Sub tt() Dim LRow As Long: LRow = Cells(Rows.Count, 1).End(xlUp).Row - 3 Dim I As Long, S As String, J As Long, J1 As Long For I = 7 To LRow If Cells(I, 1).Value Like "дисконтная карта: *" Then S = Replace(Cells(I, 1), "дисконтная карта: ", "") With Application.WorksheetFunction On Error Resume Next Cells(I, "J").Value = .Index(Range("H7:H" & LRow), .Match("Итого по дисконтной карте: " & S, Range("A7:A" & LRow), 0)) End With Next End Sub
[/vba]
Максро подставляет в допостолбец общую суму по карте. Просто сортируете по этому столбцу[vba]
Код
Sub tt() Dim LRow As Long: LRow = Cells(Rows.Count, 1).End(xlUp).Row - 3 Dim I As Long, S As String, J As Long, J1 As Long For I = 7 To LRow If Cells(I, 1).Value Like "дисконтная карта: *" Then S = Replace(Cells(I, 1), "дисконтная карта: ", "") With Application.WorksheetFunction On Error Resume Next Cells(I, "J").Value = .Index(Range("H7:H" & LRow), .Match("Итого по дисконтной карте: " & S, Range("A7:A" & LRow), 0)) End With Next End Sub