Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#68515
Boa tarde, gostaria de fazer o seguinte (utilizando o VBA):

Na primeira aba (dados gerais) de uma planilha tem uma coluna indicando o responsável por uma atividade X.

Aí, nas abas seguintes, vão ficar os tópicos que cada pessoa ficou responsável.
O que eu gostaria é que quando eu coloco o nome da pessoa na linha de uma atividade na aba de dados gerais, essa atividade vai automaticamente para a ABA que tem o nome dela.

Segue em anexo um rascunho.
Você não está autorizado a ver ou baixar esse anexo.
#68517
Olá, @Aurea .

Instale uma cópia do código abaixo no módulo da planilha Dados gerais.
Para acessar o módulo clique com o direito na guia daquela planilha e escolha "Exibir Código".
#
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Column > 2 Then Exit Sub
 If Application.CountA(Cells(Target.Row, 1).Resize(, 2)) < 2 Then Exit Sub
 Sheets(Cells(Target.Row, 2).Value).Cells(Rows.Count, 1).End(3)(2) = Cells(Target.Row, 1)
End Sub
Aurea agradeceu por isso
#68522
Osvaldo, deu certinho aqui, mas vc se importaria em me explicar o código? :mrgreen: Já teve umas alterações aqui, dai eu gostaria de entender melhor pra eu mesma arrumar a partir de agora. Um exemplo da mudança é que ali onde é o colaborador já vai ser uma lista suspensa então acredito que vai mudar algo no código né? o número de colunas a serem transferidas tbm vai aumentar, algumas colunas depois do nome da pessoa vai ser acrescentado e dai querem que isso tbm vá pra outra aba. Acho que se vc me explicar como funciona eu possa conseguir. :D
#68528
Olá, @Aurea .
#
Aurea escreveu: 05 Jan 2022 às 09:33 Um exemplo da mudança é que ali onde é o colaborador já vai ser uma lista suspensa então acredito que vai mudar algo no código né? ~~~> Se a lista suspensa for relativa à Validação de Dados então não será necessário alterar o código.

o número de colunas a serem transferidas tbm vai aumentar, algumas colunas depois do nome da pessoa vai ser acrescentado e dai querem que isso tbm vá pra outra aba.
Nesse caso é necessário ajustar os comandos abaixo:
Target.Column > 2 ~~~> o número 2 se refere à coluna B
Resize(, 2) ~~~> o número 2 se refere a duas colunas, no seu exemplo, colunas A e B
Cells(Target.Row, 1) ~~~> aqui é necessário acrescentar Resize, com base na quantidade de colunas a replicar

Boa tarde! Solicito a sua ajuda, de acordo com o […]

Controles ActiveX Excel Mac

Pessoal, seguinte: Meu sistema não roda no[…]

Olá, sou novo aqui no fórum, tenho u[…]

Boa tarde. Estou precisando automatizar uma planil[…]

Em J52 ~~~&gt; =ÍNDICE(C10:C40;CORRES[…]

Salvar PDF sem substituir o arquivo

Boa tarde pessoal, Queria uma ajuda para fazer um[…]

Assiduidade

Bom dia a tod@s, tenho uma tabela no formato que s[…]

Ficheiro mais atualizado