Notifications
Clear all

copiar colar organizar dados de planilha

13 Posts
3 Usuários
0 Reactions
2,453 Visualizações
(@rodrigojacinto)
Posts: 73
Estimable Member
Topic starter
 

boa noite...
amigos estou com mais um grnade problema pelo menos pra mim rsrs...
tenho a planilha em anexo, que preciso copias os dados da Coluna F da plan RPA para a plan Dados, porem nessa plan dados teria que estar por ordem crescente de PIS, tentei o comndo simples de filtros, porem existem formulas da planilha RPA, que quando copiado via codigo macro que criei ele cola tambem as linha que contem as formulas mas nao valor, isso faz com que a hora de aplicar o filtro na plan Dados, as linhas fiquem desordenadas...

As formulas da plan RPA estao la pois é a maneira que achei de pegar os dados da plan RECEBE, onde tem nomes e pis duplicados, trazer para ela e somar os nome iguais agora nao sei mais como fazer , caso tenha um codigo vba que faça isso evitaria as formulas tomando o filtro simples aplicavel nesse caso...

Obrigado desde ja...

 
Postado : 25/06/2012 3:33 pm
(@robert)
Posts: 561
Honorable Member
 

Rodrigo,
Boa noite!

Não está dando para baixar sua planilha nesse momento mais será que com gravação de macros não resolveria seu problema?

 
Postado : 25/06/2012 4:20 pm
(@rodrigojacinto)
Posts: 73
Estimable Member
Topic starter
 

Com macro nao da, pois ele copia exemplo a coluna inteira, e depois cola, porem quando é feito o filtro padrao como existe formulas e muitas vezes nao tem valor na celula somente formulas, acaba organizando tambem as coluna vazias, oque deicha o projeto todo desconfigurado.ok.

 
Postado : 25/06/2012 6:35 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Você deveria explicar melhor.
Veja se é isso

Sub AleVBA_Organizar()
    Application.ScreenUpdating = 0
    Worksheets("RPA").Range("A:J").Copy
    Worksheets("Dados").Range("A1").PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    Worksheets("Dados").Range("A:E").EntireColumn.Delete
    With ActiveSheet.Sort
        .SortFields.Clear
        .SortFields.Add Range("A1"), xlSortOnValues, xlAscending
        .SetRange ActiveSheet.Cells(1).CurrentRegion
        .Header = xlYes
        .Apply
    End With
    Application.ScreenUpdating = 1
End Sub

Baixe o arquivo e faça os teste
http://www.sendspace.com/file/4kw41e
Att

 
Postado : 25/06/2012 6:45 pm
(@rodrigojacinto)
Posts: 73
Estimable Member
Topic starter
 

Boa notie Alexandre , borigado por sua responta, er aisso que precisava, porem so faltou uma coisa, coloquei o exeplo novamente em anexo, é que quando esses valores viessem para a palnilha dados e organizados do geitinho que vc fez mesmo, so que em vez de ficar na celula A1, gostaria que ficasse a partir da celula a20 por exemplo.ok.

obrigada novamente.

 
Postado : 25/06/2012 11:10 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Rodrigo, veja se assim te atende.

Option Explicit

Sub FF_VBA_Organizar()
Dim rngToSort       As Range
Dim strEnderecoDe   As String
Dim strEnderecoPara As String
Dim lUltimaLinha    As Long
    
    With Worksheets("RPA").Range("F1").CurrentRegion
        strEnderecoDe = .Address
        strEnderecoPara = .Offset(19, -5).Address
    End With

    Worksheets("Dados").Range(strEnderecoPara).Value = Worksheets("RPA").Range(strEnderecoDe).Value
    
    lUltimaLinha = Worksheets("Dados").Cells(.Rows.Count, 1).End(xlUp).Row
    
    Set rngToSort = Worksheets("Dados").Range("A20:E" & lUltimaLinha)
    With rngToSort
        .Sort Key1:=.Range("A1"), Order1:=xlAscending, Header:=xlYes
    End With
    Set rngToSort = Nothing
    
End Sub
 
Postado : 26/06/2012 12:42 am
(@rodrigojacinto)
Posts: 73
Estimable Member
Topic starter
 

Bom dia
Deu erro na hora da execução de seu codigo Fernando, se pudesse dar uma olhada fiz uma observação na planilha anexa, eu nao consegui adaptar o outro codigo do Alexandre, o dele funcionou. eu so precisava que ao invez de colar a partir da prieira linha e coluna, colasse a partir da linha 20. entende?

Obrigado mais uma vez...

 
Postado : 26/06/2012 6:46 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Qual erro e qual linha ?

 
Postado : 26/06/2012 2:35 pm
(@rodrigojacinto)
Posts: 73
Estimable Member
Topic starter
 

boa tarde nessa linha

Sub FF_VBA_Organizar()
Dim rngToSort       As Range
Dim strEnderecoDe   As String
Dim strEnderecoPara As String
Dim lUltimaLinha    As Long
    
    With Worksheets("RPA").Range("F1").CurrentRegion
        strEnderecoDe = .Address
        strEnderecoPara = .Offset(19, -5).Address
    End With

    Worksheets("Dados").Range(strEnderecoPara).Value = Worksheets("RPA").Range(strEnderecoDe).Value
    ' NESSA LINHA "Rows" (erro de compilação referencia invalida ou nao qualificada
    lUltimaLinha = Worksheets("Dados").Cells(.Rows.Count, 1).End(xlUp).Row
    
    Set rngToSort = Worksheets("Dados").Range("A20:E" & lUltimaLinha)
    With rngToSort
        .Sort Key1:=.Range("A1"), Order1:=xlAscending, Header:=xlYes
    End With
    Set rngToSort = Nothing
    
End Sub
 
Postado : 27/06/2012 9:35 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Para por apartir da linha 20, tente algo como...

Sub AleVBA_Organizar()
Dim LastRow As Long
  Application.ScreenUpdating = 0
    Worksheets("Dados").Range("A:J").Clear
     LastRow = Worksheets("RPA").Range("A" & Rows.Count).End(xlUp).Row
    Worksheets("RPA").Range("A1:J" & LastRow).Copy
    Worksheets("Dados").Range("A20").PasteSpecial Paste:=xlPasteValues
     Application.CutCopyMode = False
    Worksheets("Dados").Range("A:E").EntireColumn.Delete
     Call Classfica
  Application.ScreenUpdating = 1
End Sub
 
Postado : 27/06/2012 6:37 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Olá

desculpe a demora.
É verdade deu um erro, justo na versão que eu te mandei.

Já o corrigi, segue novo arquivo.

 
Postado : 29/06/2012 5:57 pm
(@rodrigojacinto)
Posts: 73
Estimable Member
Topic starter
 

Valeu muito obrigado..

 
Postado : 30/06/2012 7:16 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

:)

 
Postado : 03/07/2012 8:23 am