Notifications
Clear all

Macro verifica se o valor da celula é igual e exclui a mesma

14 Posts
4 Usuários
0 Reactions
2,022 Visualizações
(@neto1a)
Posts: 28
Eminent Member
Topic starter
 

Bom dia, eu tenho uma sequencia de números que é importada via macro. Eu preciso de um macro que verifica se o número da ordem da linha abaixo for igual ao da linha anterior ele deleta esse numero da ordem repetido, deixando a celula em branco. O numero de linhas da tabela varia.

Como ele importa atualmente

Nº	Ordem 	        Local De Instalação
1	500029249247	0S04-A01-01-PENDU-LUM01
2	500029249252	0S04-A01-17-EMMIU-ILUMI
3	500029301682	0S04-A01-01-FORRO-QEF01
4	500028058005	0S04-A01-02-EVISC-EXL01
5	500029249248	0S04-A01-01-SANGR-LUM01
6	500029249254	0S04-A01-11-SLCOR-ILUMI
7	500029404613	0S04-A01-01-PENDU-ELE01
8	500029404613	0S04-A01-01-PENDU-ELE01
9	500029404613	0S04-A01-01-PENDU-ELE01
10	500029404613	0S04-A01-01-PENDU-ELE01
11	500029404612	0S04-A01-02-PENDU-ELE01
12	500029404612	0S04-A01-02-PENDU-ELE01
13	500027853363	0S04-A01-01-EVISC-LIM01
14	500028549217	0S04-A01-02-EMBAL-EBL01
15	500028827136	0S04-A02-02-PENDU-PLF01
16	500029249250	0S04-A01-01-EVISC-LUM01
17	500029249256	0S04-A01-15-PALET-LUM01
18	500028057914	0S04-A01-11-SLCOR-TER03
19	500028058009	0S04-A01-01-EVISC-EXL01
20	500028058015	0S04-A01-11-SLCOR-TER01
21	500028058018	0S04-A01-14-AFIAC-SEC01
22	500028318767	0S04-A01-16-ETGEM-SLI01
23	500029249251	0S04-A01-01-RFMEN-ILUMI
24	500029249255	0S04-A01-15-CAXAR-LUM01

Como preciso que fique:
Nº	Ordem 	       Local De Instalação
1	500029249247	0S04-A01-01-PENDU-LUM01
2	500029249252	0S04-A01-17-EMMIU-ILUMI
3	500029301682	0S04-A01-01-FORRO-QEF01
4	500028058005	0S04-A01-02-EVISC-EXL01
5	500029249248	0S04-A01-01-SANGR-LUM01
6	500029249254	0S04-A01-11-SLCOR-ILUMI
7	500029404613	0S04-A01-01-PENDU-ELE01
8	               0S04-A01-01-PENDU-ELE01
9	               0S04-A01-01-PENDU-ELE01
10	               0S04-A01-01-PENDU-ELE01
11	500029404612	0S04-A01-02-PENDU-ELE01
12	               0S04-A01-02-PENDU-ELE01
13	500027853363	0S04-A01-01-EVISC-LIM01
14	500028549217	0S04-A01-02-EMBAL-EBL01
15	500028827136	0S04-A02-02-PENDU-PLF01
16	500029249250	0S04-A01-01-EVISC-LUM01
17	500029249256	0S04-A01-15-PALET-LUM01
18	500028057914	0S04-A01-11-SLCOR-TER03
19	500028058009	0S04-A01-01-EVISC-EXL01
20	500028058015	0S04-A01-11-SLCOR-TER01
21	500028058018	0S04-A01-14-AFIAC-SEC01
22	500028318767	0S04-A01-16-ETGEM-SLI01
23	500029249251	0S04-A01-01-RFMEN-ILUMI
24	500029249255	0S04-A01-15-CAXAR-LUM01

Grato desde já! :)

 
Postado : 17/05/2017 8:04 am
 ti02
(@ti02)
Posts: 34
Eminent Member
 

Implemente este código num sub

Worksheets("Planilha1").Select   'sua planiolha
Range("A2").Select            'onde começa seus dados de interesse

Do
If ActiveCell.Offset(0, 0).Value = ActiveCell.Offset(1, 0).Value Then
Rows(ActiveCell.Row).Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell.Offset(0, 1).Value)
 
Postado : 17/05/2017 8:58 am
(@neto1a)
Posts: 28
Eminent Member
Topic starter
 

Pelo que eu percebi, ele está deletando a linha inteira. Eu só preciso que delete o numero da ordem repetida, a linha se mantenha igual. Segue abaixo todo o codigo que faz a importação.

No final está seu macro.

Sub Copiar()
'
' Copiar Macro
'
' Atalho do teclado: Ctrl+Shift+C
'

Sheets("PLANEJAMENTO").Select
    Range("A4").Select
    Selection.AutoFilter
    
    Range("A5:t500").Select
    Selection.ClearContents
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone



Sheets("iw37n").Select
    Range("A1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveWindow.ScrollRow = 1
    Selection.AutoFilter
    Range("A3").Select
    ActiveSheet.Range("$A$1:$I$399").AutoFilter Field:=1, Criteria1:=Sheets("PLANEJAMENTO").Range("D2")
    
    
    Sheets("iw37n").Select
    Range("C1").Select
    ActiveWindow.ScrollColumn = 1
    Range("B3:B28").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Copy
    Sheets("PLANEJAMENTO").Select
    Range("B5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=-21
       
    SendKeys "{esc}", True
    
        'Declaramos as Variaveis
        Dim sNumeros
        Dim sLinsB
        Dim nLinsA
       
        'Iniciamos a Variavel com Numero 1
        sNumeros = 1
       
        'CONTAMOS OS ITENS NA COLUNA B PLAN1
        sLinsB = Sheets("PLANEJAMENTO").Cells(Rows.Count, 2).End(xlUp).Row
       
        'Loop para preencher as Linhas Col A conforme Qde Coluna B
        'Inicia na Linha 5
        For nLinsA = 5 To sLinsB
            
            If Sheets("PLANEJAMENTO").Range("B" & nLinsA) = "" Then
            
            Else
                Sheets("PLANEJAMENTO").Range("A" & nLinsA) = sNumeros
                sNumeros = sNumeros + 1
            End If
        Next
        
        Range("J5").Select
    ActiveCell.FormulaR1C1 = "'"
        
  'pintar de cinza
If Range("a5").Value <> "" Then
Range("A5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    
End If


Rows("5:5").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.AutoFit

'filtra pra nao imprimir td as pagina
Range("A4:A500").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$4:$A$500").AutoFilter Field:=1, Criteria1:="<>"
    ActiveWindow.ScrollRow = 5
    Range("A5").Select
    
'deixa todas linhas com tamanho 12
     ActiveWindow.SmallScroll Down:=-12
    Rows("5:5").Select
    ActiveWindow.SmallScroll Down:=123
    Rows("5:143").Select
    Selection.RowHeight = 12

'inicio do macro para apagar ordem igual

Range("B5").Select            'onde começa seus dados de interesse

Do
If ActiveCell.Offset(0, 0).Value = ActiveCell.Offset(1, 0).Value Then
Rows(ActiveCell.Row).Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell.Offset(0, 1).Value)

End Sub
 
Postado : 17/05/2017 10:08 am
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa tarde Neto,

Anexe uma planilha de exemplo, assim fica mais fácil tentar ajudar.

att,

 
Postado : 17/05/2017 12:57 pm
 ti02
(@ti02)
Posts: 34
Eminent Member
 

Agora que li com mais atenção e entendo.
Fiz essa alteração e espero que funcione, limitei um dos laços em celula vazia, se não te atender, limite de acordo com sua quantidade de linhas...

Dim SalveMeuConteudo As String

Do
If ActiveCell.Offset(0, 0).Value = ActiveCell.Offset(1, 0).Value Then
SalveMeuConteudo = ActiveCell.Offset(0, 0).Value
Do
ActiveCell.Offset(1, 0).Value = ""
ActiveCell.Offset(1, 0).Select
Loop Until ActiveCell.Offset(1, 0).Value <> SalveMeuConteudo Or IsEmpty(ActiveCell.Offset(1, 0).Value)
Else
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell.Offset(0, 1).Value)
 
Postado : 17/05/2017 1:21 pm
(@neto1a)
Posts: 28
Eminent Member
Topic starter
 

Não consigo anexar o arquivo porque ele tem 9 mb.
Segue a imagem de como ele fica rodando o que ti02 me falou.

Segue como eu preciso:

Ddesculpe os rabiscos nas imagens, mas ali possuem nomes de equipamentos, pessoas...

Seguem todos os macros que tem nela:
Macro do botao copiar:

'pintar de cinza
If Range("a5").Value <> "" Then
Range("A5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    
End If


Rows("5:5").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.AutoFit

'filtra pra nao imprimir td as pagina
Range("A4:A500").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$4:$A$500").AutoFilter Field:=1, Criteria1:="<>"
    ActiveWindow.ScrollRow = 5
    Range("A5").Select
    
'deixa todas linhas com tamanho 12
     ActiveWindow.SmallScroll Down:=-12
    Rows("5:5").Select
    ActiveWindow.SmallScroll Down:=123
    Rows("5:143").Select
    Selection.RowHeight = 12

'inicio do macro para apagar ordem igual

Dim SalveMeuConteudo As String

Do
If ActiveCell.Offset(0, 0).Value = ActiveCell.Offset(1, 0).Value Then
SalveMeuConteudo = ActiveCell.Offset(0, 0).Value
Do
ActiveCell.Offset(1, 0).Value = ""
ActiveCell.Offset(1, 0).Select
Loop Until ActiveCell.Offset(1, 0).Value <> SalveMeuConteudo Or IsEmpty(ActiveCell.Offset(1, 0).Value)
Else
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell.Offset(0, 1).Value)

End Sub

macro do botão mudar PM

Sub mudarpm()
'
' mudarpm Macro
'

'
    Sheets("PM").Select
End Sub
Sub voltar()
'
' voltar Macro
'

'
    Sheets("PLANEJAMENTO").Select
End Sub
Sub jjjjjjjjjjjj()
'
' jjjjjjjjjjjj Macro
'

'
    Range("A23:A201").Select
End Sub
Sub Macro5()
'
' Macro5 Macro
'

'
    Range("J5").Select
    ActiveCell.FormulaR1C1 = "'"
    Range("J6").Select
End Sub
 
Postado : 17/05/2017 2:08 pm
 ti02
(@ti02)
Posts: 34
Eminent Member
 

Estranho, fiz uma planilha de teste aqui e foi

 
Postado : 17/05/2017 2:19 pm
(@neto1a)
Posts: 28
Eminent Member
Topic starter
 

Vou tentar rodar de novo aqui.
Aqui usamos o citrix e desktop, em um deles da pau a planilha, a outra não da. Vou ver aqui. Agradeço desde já pela sua ajuda!!!

 
Postado : 17/05/2017 2:25 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Dados - remover duplicados não resolve?

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 17/05/2017 5:22 pm
(@neto1a)
Posts: 28
Eminent Member
Topic starter
 

Remover duplicatas nao da porque ele elimina as repetidas e amontoa eles, eu preciso que fique em branco.

Segue como fica.

 
Postado : 18/05/2017 7:34 am
 ti02
(@ti02)
Posts: 34
Eminent Member
 

Neto,

tenta tirar essa mensagem aí na setinha verde, coloca como valor numérico pra ver se resolve.

veja, peguei seus valores e apliquei aqui, olha o resultado:
antes de executar o codigo que te passei

depois de executar

 
Postado : 18/05/2017 7:52 am
(@neto1a)
Posts: 28
Eminent Member
Topic starter
 

ti02,

Está dando certo seu macro. Se eu executo ele separado do meu macro ele funciona certinho!
Eu não sei porque quando eu adiciono na linha do macro principal ele nao faz o seu macro.
Segue como está o meu macro. Adicionei as linhas no vba para mudar o formato para numero e fazer F2 enter na coluna inteira (sabe como ele alterar para numero e corrigir sem ter ir no F2 enter?)

Sub Copiar()
'
' Copiar Macro
'
' Atalho do teclado: Ctrl+Shift+C
'

Sheets("PLANEJAMENTO").Select
    Range("A4").Select
    Selection.AutoFilter
    
    Range("A5:t500").Select
    Selection.ClearContents
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone



Sheets("iw37n").Select
    Range("A1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveWindow.ScrollRow = 1
    Selection.AutoFilter
    Range("A3").Select
    ActiveSheet.Range("$A$1:$I$399").AutoFilter Field:=1, Criteria1:=Sheets("PLANEJAMENTO").Range("D2")
    
    
    Sheets("iw37n").Select
    Range("C1").Select
    ActiveWindow.ScrollColumn = 1
    Range("B3:B28").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Copy
    Sheets("PLANEJAMENTO").Select
    Range("B5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=-21
       
    SendKeys "{esc}", True
    
        'Declaramos as Variaveis
        Dim sNumeros
        Dim sLinsB
        Dim nLinsA
       
        'Iniciamos a Variavel com Numero 1
        sNumeros = 1
       
        'CONTAMOS OS ITENS NA COLUNA B PLAN1
        sLinsB = Sheets("PLANEJAMENTO").Cells(Rows.Count, 2).End(xlUp).Row
       
        'Loop para preencher as Linhas Col A conforme Qde Coluna B
        'Inicia na Linha 5
        For nLinsA = 5 To sLinsB
            
            If Sheets("PLANEJAMENTO").Range("B" & nLinsA) = "" Then
            
            Else
                Sheets("PLANEJAMENTO").Range("A" & nLinsA) = sNumeros
                sNumeros = sNumeros + 1
            End If
        Next
        
        Range("J5").Select
    ActiveCell.FormulaR1C1 = "'"
        
  'pintar de cinza
If Range("a5").Value <> "" Then
Range("A5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    
End If


Rows("5:5").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.AutoFit

'filtra pra nao imprimir td as pagina
Range("A4:A500").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$4:$A$500").AutoFilter Field:=1, Criteria1:="<>"
    ActiveWindow.ScrollRow = 5
    Range("A5").Select
    
'deixa todas linhas com tamanho 12
     ActiveWindow.SmallScroll Down:=-12
    Rows("5:5").Select
    ActiveWindow.SmallScroll Down:=123
    Rows("5:143").Select
    Selection.RowHeight = 12
    
'muda coluna B para Numero e F2 enter
Columns("B:B").Select
Selection.NumberFormat = "0"
    
Range("B1").Select

Dim lastRow As Long, X As Long, col As Long
col = Selection.Column
lastRow = Cells(Cells.Rows.Count, col).End(xlUp).Row
For X = 6 To lastRow
Cells(X, col).Select
mFormula = ActiveCell.FormulaLocal
ActiveCell.FormulaLocal = mFormula
Next

'inicio do macro para apagar ordem igual
Dim SalveMeuConteudo As String

Do
If ActiveCell.Offset(0, 0).Value = ActiveCell.Offset(1, 0).Value Then
SalveMeuConteudo = ActiveCell.Offset(0, 0).Value
Do
ActiveCell.Offset(1, 0).Value = ""
ActiveCell.Offset(1, 0).Select
Loop Until ActiveCell.Offset(1, 0).Value <> SalveMeuConteudo Or IsEmpty(ActiveCell.Offset(1, 0).Value)
Else
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell.Offset(0, 1).Value)

End Sub
 
Postado : 18/05/2017 8:50 am
 ti02
(@ti02)
Posts: 34
Eminent Member
 

neto1a,

use esse código pra corrigir o formato antes do outro código que te passei.

Range("B1:B6000").Select 'coloca um limite até aonde seus dados podem chegar.
Selection.NumberFormat = "General"
Dim rngCelula As Range
For Each rngCelula In Selection
rngCelula.FormulaLocal = rngCelula.Value
Next rngCelula

 
Postado : 18/05/2017 11:02 am
(@neto1a)
Posts: 28
Eminent Member
Topic starter
 

Segue como ficou:

Segue como ficou o código:

Sub Copiar()
'
' Copiar Macro
'
' Atalho do teclado: Ctrl+Shift+C
'

Sheets("PLANEJAMENTO").Select
    Range("A4").Select
    Selection.AutoFilter
    
    Range("A5:t500").Select
    Selection.ClearContents
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone



Sheets("iw37n").Select
    Range("A1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveWindow.ScrollRow = 1
    Selection.AutoFilter
    Range("A3").Select
    ActiveSheet.Range("$A$1:$I$399").AutoFilter Field:=1, Criteria1:=Sheets("PLANEJAMENTO").Range("D2")
    
    
    Sheets("iw37n").Select
    Range("C1").Select
    ActiveWindow.ScrollColumn = 1
    Range("B3:B28").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Copy
    Sheets("PLANEJAMENTO").Select
    Range("B5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=-21
       
    SendKeys "{esc}", True
    
        'Declaramos as Variaveis
        Dim sNumeros
        Dim sLinsB
        Dim nLinsA
       
        'Iniciamos a Variavel com Numero 1
        sNumeros = 1
       
        'CONTAMOS OS ITENS NA COLUNA B PLAN1
        sLinsB = Sheets("PLANEJAMENTO").Cells(Rows.Count, 2).End(xlUp).Row
       
        'Loop para preencher as Linhas Col A conforme Qde Coluna B
        'Inicia na Linha 5
        For nLinsA = 5 To sLinsB
            
            If Sheets("PLANEJAMENTO").Range("B" & nLinsA) = "" Then
            
            Else
                Sheets("PLANEJAMENTO").Range("A" & nLinsA) = sNumeros
                sNumeros = sNumeros + 1
            End If
        Next
        
        Range("J5").Select
    ActiveCell.FormulaR1C1 = "'"
        
  'pintar de cinza
If Range("a5").Value <> "" Then
Range("A5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = -0.349986266670736
        .Weight = xlThin
    End With
    
End If


Rows("5:5").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.AutoFit

'filtra pra nao imprimir td as pagina
Range("A4:A500").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$4:$A$500").AutoFilter Field:=1, Criteria1:="<>"
    ActiveWindow.ScrollRow = 5
    Range("A5").Select
    
'deixa todas linhas com tamanho 12
     ActiveWindow.SmallScroll Down:=-12
    Rows("5:5").Select
    ActiveWindow.SmallScroll Down:=123
    Rows("5:143").Select
    Selection.RowHeight = 12

'altera formato da coluna B

Range("B1:B100").Select 'coloca um limite até aonde seus dados podem chegar.
Selection.NumberFormat = "General"
Dim rngCelula As Range
For Each rngCelula In Selection
rngCelula.FormulaLocal = rngCelula.Value
Next rngCelula

'inicio do macro para apagar ordem igual
Dim SalveMeuConteudo As String

Do
If ActiveCell.Offset(0, 0).Value = ActiveCell.Offset(1, 0).Value Then
SalveMeuConteudo = ActiveCell.Offset(0, 0).Value
Do
ActiveCell.Offset(1, 0).Value = ""
ActiveCell.Offset(1, 0).Select
Loop Until ActiveCell.Offset(1, 0).Value <> SalveMeuConteudo Or IsEmpty(ActiveCell.Offset(1, 0).Value)
Else
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell.Offset(0, 1).Value)

End Sub
 
Postado : 18/05/2017 11:17 am