Я знаю, что есть много подобных вопросов, но, похоже, ни один не соответствует точно ... У меня есть базовый список акций, и я хочу помочь ускорить инвентаризацию, поэтому я собираюсь создать макрос для выполнения следующих действий:

Выберите диапазон и отсортируйте столбцы E, F и C, а затем, когда столбец E изменил значение, вставьте пустую цветную линию.

================================================== =========================================

Так что я очень новичок в VBA, но сумел создать макрос из 3 частей:

Macro1 - сортирует данные Macro2 - вставляет пустую строку при изменении значения Macro3 - назначается кнопке, запускает Macro1 и Macro2

Все, что мне нужно сделать сейчас, это изменить цвет пустой строки ???

Sub sort()
Rows("5:5").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
ActiveWorkbook.Worksheets("HEAT SEAL").sort.SortFields.Clear
ActiveWorkbook.Worksheets("HEAT SEAL").sort.SortFields.Add Key:=Range( _
    "E5:E407"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
    xlSortNormal
ActiveWorkbook.Worksheets("HEAT SEAL").sort.SortFields.Add Key:=Range( _
    "A5:A407"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
    xlSortNormal
ActiveWorkbook.Worksheets("HEAT SEAL").sort.SortFields.Add Key:=Range( _
    "F5:F407"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
    xlSortNormal
With ActiveWorkbook.Worksheets("HEAT SEAL").sort
    .SetRange Range("A5:J407")
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
End Sub

Sub Split()
rw = 5
myval = ActiveSheet.Cells(rw, 5).Value
While myval <> ""
While myval = ActiveSheet.Cells(rw, 5).Value
rw = rw + 1
Wend
ActiveSheet.Rows(rw).EntireRow.Insert
rw = rw + 1
myval = ActiveSheet.Cells(rw, 5).Value
Wend
End Sub

Sub run()
    Application.run "STOCK1.xls!sort"
    Application.run "STOCK1.xls!Split"
End Sub

0