Ir ao conteúdo

Posts recomendados

Postado

REQUERIMENTO ok.xlsxEstou querendo pegar os dados do contrato (SITUAÇÃO ;CONTRATO;INCIO; FINAL ;VALOR; VALOR DA PARCELA;QTD. PARCELAS)  e passar para outra planinha ( REQUERIMENTO) organizado como fiz um exemplo. Meu problema e pegar o nome , cpf  e os  contratos 2,3,4... pois estão desorganizados. 

Postado

@Midori cada linha tem os contratos que uma pessoa tem com determinado banco. Exemplo a pessoa da linha 1 tem 1 contrato com o banco 623, e essa mesma pessoa esta na linha 2 , mas tendo 1 contrato com o banco 29. 

Postado

@antoniofmoura Sim e na linha requerimento tem 6 linhas dessa pessoa. Por isso perguntei se a quantidade de contratos determina o número de linhas/registros de cada pessoa. A planilha consignado tem várias colunas.

  • Solução
Postado

@antoniofmoura  A macro pega o range H2:H12, quando houver mais linhas é fácil editar para implementar uma forma de pegar até a última linha.

 

Quando testei e comparei com os dados anteriores do requerimento só deu diferença no total da LIDIA, talvez seja de algum dado que você não tinha copiado antes.

 

Sub Macro()
    Dim R       As Range
    Dim C, L    As Integer
    Dim Plan    As Worksheet
    
    Set Plan = ThisWorkbook.Worksheets("REQUERIMENTO ")
    
    With ThisWorkbook.Worksheets("CONSIGNADO")
        For Each R In .Range("H2:H12")
            For C = 27 To 83 Step 7
                If .Cells(R.Row, C) <> "" Then
                    L = Plan.Range("A:A").End(xlDown).Row + 1
                    R.Offset(0, 0).Copy Plan.Cells(L, 1)
                    R.Offset(0, 1).Copy Plan.Cells(L, 2)
                    .Cells(R.Row, C - 1).Resize(1, 7).Copy Plan.Cells(L, 3)
                End If
            Next C
        Next R
    End With
End Sub

 

  • Curtir 1
Postado

@antoniofmoura Agora vi que a macro pode apresentar erro se a planilha Requerimento tiver apenas os títulos.

 

Para evitar isso faça esta alteração no código, substituindo a linha da atribuição de L por essas,

 

If Plan.Range("A2") = "" Then
    L = 2
Else
    L = Plan.Range("A:A").End(xlDown).Row + 1
End If

 

  • Curtir 1
  • Membro VIP
Postado
23 horas atrás, antoniofmoura disse:

@Midori Muito obrigado , você me ajudou muito. Como posso ajudar a comunidade ?

 

Se tiver alguma duvida que você saiba responder é só ajudar.

 

Você se esqueceu de clicar em Curtir nas respostas da Midori

 

[]s

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!