Boa tarde!!!
Veja comentários.
Sub AleVBA_18058V2()
Dim ws As Worksheet, wsAleVBA As Worksheet
Set wsAleVBA = Sheets("AleVBA") 'Usa essa aba como referencia para efetuar algumas ações, mude a para o nome que desejar
Application.ScreenUpdating = False
wsAleVBA.Range("A2:A" & Rows.Count).EntireRow.Clear 'Limpa os dados da guia chave: wsAleVBA
For Each ws In Worksheets 'Loop para copiar Itens das duas guias conforme abaixo
If ws.Name <> "Análise" And _
ws.Name <> "AleVBA" Then _
ws.Range("A2:A50000").Copy wsAleVBA.Range("A" & Rows.Count).End(xlUp).Offset(1)
Next ws
'Remove os dados duplicados
wsAleVBA.[A1].CurrentRegion.RemoveDuplicates Columns:=1, Header:=xlYes
'Inseri uma formula para somar conforme criterio de I1 e I2, cola valores
With Cells(1).CurrentRegion.Columns("B")
.Offset(1).Resize(WorksheetFunction.CountA(Worksheets("Estoque").Columns("B")) - 1).Formula = _
"=IF(A2="""","""",SUMPRODUCT((Estoque!$A$2:$A$1000=A2)*((Estoque!$B$2:$B$1000=""I1"")+(Estoque!$B$2:$B$1000=""I2""))*(Estoque!$D$2:$D$1000)))"
.Value = .Value
End With
'Copia os dados de uma Guia para outra
Sheets("Demanda").Range("A2:B50000").Copy wsAleVBA.Range("C" & Rows.Count).End(xlUp).Offset(1, 0)
'Insere uma formula cola valores, deleta valores não aproveitavéis
With Cells(1).CurrentRegion.Columns("E")
.Offset(1).Resize(WorksheetFunction.CountA(Worksheets("Estoque").Columns("B")) - 1).Formula = _
"=IF(A2="""","""",D2-B2)"
.Value = .Value
.AutoFilter field:=1, Criteria1:=""
.Resize(Rows.Count - 1).Offset(1).EntireRow.Delete
End With
'Delelta a coluna C
Columns("C").Delete
ActiveSheet.AutoFilterMode = False 'Remove Filtro
Application.ScreenUpdating = True
End Sub
Quanto a guia altere o nome
De:
Set wsAleVBA = Sheets("AleVBA")
Para:
Set wsAleVBA = Sheets("NomeDaGuia")
Essa parte
ws.Name <> "AleVBA" Then _
Para
ws.Name <> "NomeDaGuia" Then _
Obs: Há postagens que eu mesmo respondi, de como inserir a borda completa em torno da célula, use a pesquisa do fórum!
Att
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 12/11/2015 2:30 pm