Ir ao conteúdo

Posts recomendados

Postado

Boa tarde, preciso criar uma fórmula na planilha onde na aba dia 1 e na coluna J, toda vês que eu escrever a letra C, a linha inteira seja copiada para a última linha livre da planilha ITAÚ Alimenta

vou deixar a planilha no anexo.

se alguém puder me ajudar, ficarei grato.

 

Pasta22.xls

  • Membro VIP
Postado

Boa noite, @Osmarbg

 

Apliquei uma fórmula matricial, que copia toda a linha onde tiver na coluna J a letra C.

Para testar é só apagar alguma letra C da coluna J.

A formula é matricial, portanto, no final em vez de clicar em ENTER, clique em CTRL+SHIFT+ENTER, que automaticamente são inseridas chaves, no início e no final da fórmula.

 

Dê retorno.

 

[]s

31_07_22_Copiar dados da linha conforme critério_Patropi.xls

  • Curtir 1
Postado
2 horas atrás, Patropi disse:

Boa noite, @Osmarbg

 

Apliquei uma fórmula matricial, que copia toda a linha onde tiver na coluna J a letra C.

Para testar é só apagar alguma letra C da coluna J.

A formula é matricial, portanto, no final em vez de clicar em ENTER, clique em CTRL+SHIFT+ENTER, que automaticamente são inseridas chaves, no início e no final da fórmula.

 

Dê retorno.

 

[]s

31_07_22_Copiar dados da linha conforme critério_Patropi.xls 743 kB · 1 download

Boa noite, deu certo em parte, onde eu criei dia 1, na verdade depois da fórmula pronta eu vou criar novas abas, do dia 2 até dia 31, e quando eu crio a aba 2 ele já não copia mais.

Ou seja, se eu for fazer um lançamento no dia 1 ou no dia 2 ou no dia 20, ele sempre levar para a aba Itaú Alimenta.

Se for possível após digitar a letra c ele transferir com enter melhor, mas se não der pode ficar assim mesmo.

 

  • Membro VIP
Postado

@Osmarbg

 

Eu fiz conforme a descrição da dúvida.

Neste teu caso é diferente, por isso você deveria ter descrito a real situação e no teu exemplo deveria ter mais planilhas e o resultado desejado.

 

[]s

  • Curtir 1
Postado
3 minutos atrás, Patropi disse:

@Osmarbg

 

Eu fiz como você descreveu a dúvida.

Neste teu caso é diferente, por isso você deveria ter descrito a real situação e no teu exemplo deveria ter mais planilhas e os resultados desejados.

 

[]s

Desculpe, é que pensei que depois que a fórmula estivesse pronta eu conseguiria dar sequência sozinho, mas não deu.

21 horas atrás, Osmarbg disse:

Boa tarde, preciso criar uma fórmula na planilha onde na aba dia 1 e na coluna J, toda vês que eu escrever a letra C, a linha inteira seja copiada para a última linha livre da planilha ITAÚ Alimenta

vou deixar a planilha no anexo.

Obs. depois da fórmula pronta a aba dia 1 eu vou copiar mais 30 abas para ter abas do dia 01 ao dia 31.

Em todas estas abas ao digitar a letra C as linhas vão sempre para a última linha livre da aba Itaú Alimenta.

se alguém puder me ajudar, ficarei grato.

 

Pasta22.xls 618 kB · 6 downloads

 

  • Membro VIP
Postado

@Osmarbg

 

O que você deseja não dá para fazer com fórmulas, só com programação VBA.

o título correto deveria ser algo como: 

Copiar dados de várias planilhas para a planilha ITAÚ Alimenta com condição.

 

No link abaixo você tem um código que faz o que você deseja, mas precisa ser adaptado:

https://www.extendoffice.com/documents/excel/5851-excel-pull-data-from-multiple-sheets-based-on-criteria.html#a1

 

[]s

  • Curtir 1
Postado
2 horas atrás, Patropi disse:

@Osmarbg

 

O que você deseja não dá para fazer com fórmulas, só com programação VBA.

o título correto deveria ser algo como: 

Copiar dados de várias planilhas para a planilha ITAÚ Alimenta com condição.

 

No link abaixo você tem um código que faz o que você deseja, mas precisa ser adaptado:

https://www.extendoffice.com/documents/excel/5851-excel-pull-data-from-multiple-sheets-based-on-criteria.html#a1

 

[]s

Mais uma vez eu agradeço pela sua ajuda, eu escrevi fórmula, porque meu conhecimento é pequeno, eu fiz outra planilha com todas as abas, olhei o link que me mandou, mas nem em sonho consigo fazer, pelo menos por enquanto, um dia eu vou aprender. segue a planilha anexa. Se puder me ajudar, vai ser de grande valia para o meu trabalho no financeiro da empresa que atuo. seria colocando a letra c na coluna J de todas as planilhas de 01 a 31 a linha inteira ir para a aba Itaú Alimenta.

Itau - Alimenta.xlsx

Postado

Veja se ajuda.

O código abaixo deve ir no módulo da planilha Itau - Alimenta. Para acessar o módulo clique com o direito na guia da planilha >> Exibir Código.

Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Count > 1 Then Exit Sub
 If Target.Column <> 10 Or Target.Value <> "C" Then Exit Sub
 Cells(Target.Row, 1).Resize(, 11).Copy
 Application.ScreenUpdating = False
 With Sheets("dia " & Day(Cells(Target.Row, 1)))
  If .[B13] = "" Then
   .[B13].PasteSpecial xlValues
  Else: .[B63].End(3)(2).PasteSpecial xlValues
  End If
 End With
End Sub

 

  • Curtir 1
Postado
2 horas atrás, OreiaG disse:

Veja se ajuda.

O código abaixo deve ir no módulo da planilha Itau - Alimenta. Para acessar o módulo clique com o direito na guia da planilha >> Exibir Código.

Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Count > 1 Then Exit Sub
 If Target.Column <> 10 Or Target.Value <> "C" Then Exit Sub
 Cells(Target.Row, 1).Resize(, 11).Copy
 Application.ScreenUpdating = False
 With Sheets("dia " & Day(Cells(Target.Row, 1)))
  If .[B13] = "" Then
   .[B13].PasteSpecial xlValues
  Else: .[B63].End(3)(2).PasteSpecial xlValues
  End If
 End With
End Sub

 

Boa tarde amigo, eu colei o código na aba Itaú Alimenta, mas quando digito a letra C na coluna J nas abas de 01 a 31 as linhas não são copiadas para Itaú Alimenta.

estou fazendo algo errado?

precisa habilitar algo antes de executar?

 

  • Solução
Postado

Oh, Amigo. Peço desculpas pelo vacilo, eu fiz exatamente o inverso, copiar da Itau - Alimenta para as demais.

Desconsidere o código anterior e cole este abaixo no módulo de EstaPastaDeTrabalho >> Alt+F11 >> duplo clique em EstaPastaDeTrabalho.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 Dim UL As Long
  If Sh.Name = "Itau - Alimenta" Or Target.Count > 1 Then Exit Sub
  If Target.Column <> 10 Or Target.Value <> "C" Then Exit Sub
  Application.ScreenUpdating = False
  With Sheets("Itau - Alimenta")
   UL = .Cells(4500, 1).End(xlUp).Row
   Cells(Target.Row, 2).Resize(, 5).Copy .Cells(UL + 1, 1)
   Cells(Target.Row, 8).Resize(, 5).Copy .Cells(UL + 1, 7)
  End With
End Sub

 

Nota - a linha inteira será colada na planilha Itau - Alimenta, conforme a sua descrição, mas notei que os cabeçalhos entre G:K são diferentes das demais planilhas, talvez precise de alguma alteração no código.

  • Curtir 1
  • Obrigado 1
Postado
26 minutos atrás, OreiaG disse:

Oh, Amigo. Peço desculpas pelo vacilo, eu fiz exatamente o inverso, copiar da Itau - Alimenta para as demais.

Desconsidere o código anterior e cole este abaixo no módulo de EstaPastaDeTrabalho >> Alt+F11 >> duplo clique em EstaPastaDeTrabalho.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 Dim UL As Long
  If Sh.Name = "Itau - Alimenta" Or Target.Count > 1 Then Exit Sub
  If Target.Column <> 10 Or Target.Value <> "C" Then Exit Sub
  Application.ScreenUpdating = False
  With Sheets("Itau - Alimenta")
   UL = .Cells(4500, 1).End(xlUp).Row
   Cells(Target.Row, 2).Resize(, 5).Copy .Cells(UL + 1, 1)
   Cells(Target.Row, 8).Resize(, 5).Copy .Cells(UL + 1, 7)
  End With
End Sub

 

Nota - a linha inteira será colada na planilha Itau - Alimenta, conforme a sua descrição, mas notei que os cabeçalhos entre G:K são diferentes das demais planilhas, talvez precise de alguma alteração no código.

Muito agradecido amigo, funcionou perfeitamente, era isso mesmo que eu precisava, valeu mesmo.

  • Curtir 1

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!