Prezados colegas bom dia.
Tenho 2 rotinas que foram criadas pelo mestre Wagner Morel e a outra pelo mestre Bernardo.
Estava tentando adaptar para minha planilha pois conforme fui mexendo foram surgindo outros dados a serem coletados.
Enfim, tentei juntar a rotina do Mestre Wagner Morel e a do mestre Bernardo e não consegui, talvez seja pela minha falta de conhecimento em VBA apesar de gostar e ter muito interesse no assunto.
Abaixo segue a rotina e o link dos tópicos criados.
Option explict
Sub colar()
Dim i As Long
Dim UltLDad As Long
Dim UltLDup As Long
Dim wb As Workbook
Dim Dad As Worksheet
Dim Rel As Worksheet
Dim Dup As Worksheet
Set wb = ThisWorkbook
Set Dad = wb.Sheets("dados")
Set Rel = wb.Sheets("relatorio")
Set Dup = wb.Sheets("duplicado")
UltLDad = Dad.Range("A" & Rows.Count).End(xlUp).Row
UltLDup = Dup.Range("A" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False
Application.Calculation = xlManual
Dad.Range
Workbooks("RELATORIO.xls").Activate
For i = 1 To Sheets.Count
Sheets(i).Select
UltimaLinhaRelat = ActiveSheet.Cells(Cells.Rows.Count, 11).End(xlUp).Row
If UltimaLinhaRelat < 2 Then UltimaLinhaRelat = 2
For j = 2 To UltimaLinhaRelat
If Trim(Range("K" & j).Value) = "verificado" Then
Workbooks("RELATORIO GERAL.xls").Sheets("RELATORIO GERAL").Range("A" & UltimaLinhaGeral).Value = Workbooks("RELATORIO.xls").ActiveSheet.Range("A" & j).Value
Workbooks("RELATORIO GERAL.xls").Sheets("RELATORIO GERAL").Range("B" & UltimaLinhaGeral).Value = Workbooks("RELATORIO.xls").ActiveSheet.Range("B" & j).Value
Workbooks("RELATORIO GERAL.xls").Sheets("RELATORIO GERAL").Range("C" & UltimaLinhaGeral).Value = Workbooks("RELATORIO.xls").ActiveSheet.Range("C" & j).Value
Workbooks("RELATORIO GERAL.xls").Sheets("RELATORIO GERAL").Range("D" & UltimaLinhaGeral).Value = Workbooks("RELATORIO.xls").ActiveSheet.Range("D" & j).Value
Workbooks("RELATORIO GERAL.xls").Sheets("RELATORIO GERAL").Range("E" & UltimaLinhaGeral).Value = Workbooks("RELATORIO.xls").ActiveSheet.Range("E" & j).Value
Workbooks("RELATORIO GERAL.xls").Sheets("RELATORIO GERAL").Range("F" & UltimaLinhaGeral).Value = Workbooks("RELATORIO.xls").ActiveSheet.Range("F" & j).Value
Workbooks("RELATORIO GERAL.xls").Sheets("RELATORIO GERAL").Range("G" & UltimaLinhaGeral).Value = Workbooks("RELATORIO.xls").ActiveSheet.Range("G" & j).Value
Workbooks("RELATORIO GERAL.xls").Sheets("RELATORIO GERAL").Range("H" & UltimaLinhaGeral).Value = Workbooks("RELATORIO.xls").ActiveSheet.Range("H" & j).Value
Workbooks("RELATORIO GERAL.xls").Sheets("RELATORIO GERAL").Range("I" & UltimaLinhaGeral).Value = Workbooks("RELATORIO.xls").ActiveSheet.Range("I" & j).Value
Workbooks("RELATORIO GERAL.xls").Sheets("RELATORIO GERAL").Range("J" & UltimaLinhaGeral).Value = Workbooks("RELATORIO.xls").ActiveSheet.Range("J" & j).Value
Workbooks("RELATORIO GERAL.xls").Sheets("RELATORIO GERAL").Range("K" & UltimaLinhaGeral).Value = Workbooks("RELATORIO.xls").ActiveSheet.Range("K" & j).Value
UltimaLinhaGeral = UltimaLinhaGeral + 1
End If
Next
Next
Sheets("JAN-13").Select
For i = UltLDad To 1 Step -1
If Application.WorksheetFunction.CountIf(Rel.Range("A1:A" & i), Rel.Range("A" & i).Text) > 1 Then
Rel.Range("A" & i).EntireRow.Copy
Dup.Range("A" & UltLDup).PasteSpecial Paste:=xlPasteValues
Rel.Range("A" & i).EntireRow.Delete
End If
Next i
Set wb = Nothing
Set Dad = Nothing
Set Rel = Nothing
Set Dup = Nothing
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Rotina criada pelo mestre Wagner Morel
http://www.planilhando.com.br/forum/viewtopic.php?f=10&t=9768
Rotina criada pelo mestre Bernardo
http://www.planilhando.com.br/forum/viewtopic.php?f=10&t=9857
Desde já agradeço a todos colegas deste fórum.
Abraços.
Postado : 09/12/2013 6:47 am