Я знаю, что есть много подобных вопросов, но, похоже, ни один не соответствует точно ... У меня есть базовый список акций, и я хочу помочь ускорить инвентаризацию, поэтому я собираюсь создать макрос для выполнения следующих действий:
Выберите диапазон и отсортируйте столбцы 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