Aqui está uma solução sem o VBA. Recomendaria, quando isso é algo mais raro do que uma tarefa mensal.
É assim que você configura seus dados - note que os cols A-D são os "novos cols".
Aquiestãoasfórmulas-configure-asnalinha2e,emseguida,copie:
A2=IF(ISBLANK(F2),INDEX(J:J,ROW()-COUNTIF(F:F,"*")+1),F2)
B2=IFERROR(T(VLOOKUP($A2,$F:$H,2,FALSE)),"")
C2=IFERROR(T(VLOOKUP($A2,$F:$H,3,FALSE)),"")
D2=IFERROR(T(VLOOKUP($A2,$J:$K,2,FALSE)),"")
A2
preenche todos os Nomes da sua tabela de atividades atual, até obter células em branco. Em seguida, você começa a preencher os Nomes de sua nova tabela de atividades, usando COUNTIF
para obter o Número de células não vazias e ROW
e +1
para obter o INDEX
/ Name correto.
Agora você só precisa fazer pesquisas separadas para suas atividades.
Como você vê, você terá duplicatas, mas elas podem ser facilmente manipuladas. Minha sugestão seria: copiar a área A-D como valores para outro destino, depois usar o apagador duplicado da guia data .
É claro que você poderia fazer isso com o VBA, mas muitas vezes isso é uma tarefa, que é feita por usuários inexperientes - e para criar uma versão dinâmica segura para o usuário disso, é um código e precisa de muito mais detalhes para ser feito. No entanto, quero lembrá-lo de que esta é uma tarefa básica de banco de dados e pode ser muito mais fácil com as funções do banco de dados.