Eu sei que existem muitas perguntas semelhantes a isso, mas nenhuma parece corresponder exatamente ... Eu tenho uma lista básica de estoque, e quero ajudar a acelerar o balanço, então estou olhando para criar uma macro para fazer o seguinte:
Selecione um intervalo e classifique as colunas E, F e C, então, onde a coluna E tem uma alteração de valor, insira uma linha colorida em branco.
=============================================== ============================================
Sou muito novo no VBA, mas consegui criar uma macro de três partes:
Macro1 - classifica os dados Macro2 - Insere uma linha em branco na alteração de valor Macro3 - Atribuído a um botão, isso executa Macro1 e Macro2
Tudo o que preciso fazer agora é alterar a linha em branco colorida
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