excel macro aplica fórmula se a célula estiver preenchida

0

Aqui está o meu problema do excel. Eu tenho 3 guias, primeiro tem dados que é atualizado de vez em quando e está mudando o número de linhas. A guia 2 tem uma fórmula, que é usada para deduzir informações específicas da guia 1. A guia tem uma tabela dinâmica que usa dados da guia 2 para mostrar resultados.

O problema é que, a fórmula na guia 2 é copiada manualmente para a linha 500 para garantir que ela cubra todos os dados alimentados na guia 1. Isso resulta em números totais errados no pivô, além de incluir espaços em branco devido a os resultados da aba 2.

Portanto, preciso de uma solução de macro que faça o seguinte: 1. conte o número de linhas preenchidas na guia 1 2. aplique a fórmula necessária para cada linha continuamente até que ela atinja o número de linhas na guia 1, também altere cada linha da guia 2 para corresponder adequadamente a cada linha na guia 1.

Exemplo, alimente 100 linhas na guia 1, aplique 100 fórmulas para cada linha na guia 2, que correspondem a cada linha na guia 1 com as linhas corretas (o mesmo que copiar a fórmula para cada linha).

Isso resolverá meu problema ao não incluir espaços em branco no Pivot, portanto, o número total sempre será igual aos totais da guia 1.

P.S. Eu tentei fazer o Pivot para ignorar espaços em branco, 0s, erros etc, mas ainda conta todas as linhas que eu copiei a fórmula, não importa o que puxa para fora. Então isso não funciona para mim.

Sua ajuda é muito apreciada.

    
por Borislav 07.12.2017 / 16:28

1 resposta

-1

O que eu aprendi depois de analisar o OP, você tem apenas dois problemas.

  1. Conte as linhas preenchidas como Tab1.

  2. Escreva & Execute a fórmula para todas as linhas preenchidas na tab2.

Para isso, gostaria de mostrar todo o processo que não precisa de VBA.

Para entender melhor, usei um intervalo de dados menor.

AprimeiratarefaéContarlinhasnãovazias.Paraisso,vocêpodeusarqualquerumadasfórmulas.

=COUNTA(A8:B12)

=(linhas(A8:A12)+linhas(B8:B12))-COUNTIF(A8:B12,"")

= LINHAS (A8: B12) * COLUNAS (A8: B12) -COUNTBLANK (A8: B12)

NB: A contagem das linhas obtidas é 7 . Na verdade, todas as fórmulas estão contando células não vazias para o intervalo de dados.

Se você escreve,

= CountA (A1: A8) você ganha 4 .

Escolha o mais adequado, eu preferiria o primeiro conjunto , o motivo é simples. Desde que você precisa preencher TAB2 com fórmula. E a Fórmula precisa de Valores no Intervalo de Dados, portanto, tecnicamente as Linhas têm células em branco, devem abandonar o exercício.

Agora, a segunda tarefa, escreva a fórmula na Tabela2.

= SE (AND (Folha1! A8, Folha1! B8 < > ""), Folha1! A8 + Folha1! B8, "A linha n tem dados")

Arraste a fórmula até que seja necessário.

Lembre-se que é uma fórmula de amostra, substitua-a pela sua.

Espero que a solução esteja resolvendo o problema. Deixe um comentário se difere.

    
por 08.12.2017 / 10:13