Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Dúvidas sobre cálculos, funções simples e aninhadas, fórmulas matriciais, etc.
  • Avatar do usuário
#61613
É possível via macro.
Se houver interesse então disponibilize uma amostra do seu arquivo Excel (imagens não servem), com as fórmulas e informe como você quer o resultado na Planilha2.
TiagoVieira agradeceu por isso
#61622
Instale uma cópia do código abaixo no módulo da planilha CONTROLE PEDIDO, assim:
1. copie o código daqui
2. clique com o direito na guia daquela planilha e escolha 'Exibir Código'
3. cole o código na janela em branco que vai se abrir
4. feito! 'Alt+Q' para retornar para a planilha e testar
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Column <> 6 Or Cells(Target.Row, "I") <> "ATRASOU" Then Exit Sub
 Application.ScreenUpdating = False
 Cells(Target.Row, "A").Resize(, 9).Copy
 Sheets("MOTIVO ATRASO").Cells(Rows.Count, 1).End(3)(2).PasteSpecial xlValues
 Application.CutCopyMode = False
End Sub
#
funcionamento - na planilha CONTROLE PEDIDO após inserir manualmente a data na coluna F e se a fórmula na coluna I retornar ATRASOU então o código irá replicar a linha correspondente na planilha MOTIVO ATRASO.
TiagoVieira agradeceu por isso
#61626
TiagoVieira, Bom Dia.

Fiz por formula confere se é desta forma que desejas

Se minha resposta foi útil, clique em obrigado é uma forma de agradecimento da ajuda

Decio
Você não está autorizado a ver ou baixar esse anexo.
TiagoVieira, fabioafreire agradeceu por isso
#61631
osvaldomp escreveu: 20 Jan 2021 às 09:13 Instale uma cópia do código abaixo no módulo da planilha CONTROLE PEDIDO, assim:
1. copie o código daqui
2. clique com o direito na guia daquela planilha e escolha 'Exibir Código'
3. cole o código na janela em branco que vai se abrir
4. feito! 'Alt+Q' para retornar para a planilha e testar
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Column <> 6 Or Cells(Target.Row, "I") <> "ATRASOU" Then Exit Sub
 Application.ScreenUpdating = False
 Cells(Target.Row, "A").Resize(, 9).Copy
 Sheets("MOTIVO ATRASO").Cells(Rows.Count, 1).End(3)(2).PasteSpecial xlValues
 Application.CutCopyMode = False
End Sub
#
funcionamento - na planilha CONTROLE PEDIDO após inserir manualmente a data na coluna F e se a fórmula na coluna I retornar ATRASOU então o código irá replicar a linha correspondente na planilha MOTIVO ATRASO.
Me desculpe só tenho uma observação, se por um acaso eu mudar a data manualmente a célula vai retornar o como prazo. neste caso os dados que foram copiados para a planilha 2 não somem?
#61633
Se você quiser que nesses casos o registro antes replicado seja excluído da planilha MOTIVO ATRASO então podemos acrescentar os comandos ao código. Para ser viável essa operação de exclusão será necessário criar um identificador único para cada registro na planilha CONTROLE PEDIDO, assim será possível localizá-lo e excluí-lo.

Por exemplo, poderia ser o número do pedido, coluna C, porém no seu exemplo o número está repetido, não sei se na planilha original esse número é único ou se repete. Outra opção seria inserir uma coluna vazia em A e nela criar um número sequencial automático para cada registro. Ou outra forma que você puder encontrar. Veja qual a melhor opção e retorne para as alterações no código.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord