Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#67678
Fala pessoal, tudo bem

Preciso de uma macro que insira linha(s) vazia(s) tendo como ponto de partida a célula D25 (que possui um título). Porém a quantidade de novas linhas irá variar de acordo com o número existente na célula H5. Então se na célula H5 tiver o número 3, serão inseridas 3 novas linhas na sequência da linha 25, ou seja, nas linhas 26, 27 e 28.

Essas novas linhas deverão conter uma função de procura e referência, como PROCV, que irá buscar dados de oura planilha qualquer.

Se alguém puder ajudar, serei muito grato.
#67679
Ahhh, não mencionei, mas o ideal é que as novas linhas fossem inseridas logo na sequencia da última linha com dados, então se porventura na linha 26 houverem dados, a nova linha será inserida a partir da linha 27 e assim por diante.


Vlwww
#67684
fernandogaseo escreveu:Fala pessoal, tudo bem
Essas novas linhas deverão conter uma função de procura e referência, como PROCV, que irá buscar dados de oura planilha qualquer.
E qual é a fórmula com a função PROCV() ?

Ahhh, não mencionei, mas o ideal é que as novas linhas fossem inseridas logo na sequencia da última linha com dados, então se porventura na linha 26 houverem dados, a nova linha será inserida a partir da linha 27 e assim por diante.
Não faz sentido inserir linhas vazias onde existem linhas vazias. Bastaria inserir as fórmulas com PROCV() nas linhas vazias já existentes.
Ainda, se você converter o intervalo de dados em Tabela Excel as fórmulas serão replicadas ao inserir dados na primeira linha vazia, sem a necessidade de macros. ;)


Vlwww
fernandogaseo agradeceu por isso
#67716
Oi Osvaldo, blzz

Dei uma reformulada nas questões e anexei um arquivo de exemplo.

1. A macro deverá apagar as linhas abaixo da linha 25, porém mantendo o conteúdo que se inicia a partir da linha 29;
2. Após apagar as linhas, deverão ser criadas novas linhas de acordo com a quantidade indicada na célula AO22;
3. As descrições das novas linhas deverão ser puxadas mediante função PROCV existente nas células K26 e K27;
4. As células D26 e D27 puxam dados da D21 e D22, seria necessário manter essas referências.

Se ainda estiver confuso, só me falar

Valeww
#67787
Olá, @fernandogaseo
#
fernandogaseo escreveu: 25 Out 2021 às 15:56 1. A macro deverá apagar as linhas abaixo da linha 25, porém mantendo o conteúdo que se inicia a partir da linha 29;
Na planilha que você disponibilizou você quer apagar as linhas 26 e 27, é isso?
O que você quer dizer com "apagar"? É limpar os conteúdos ou é deletar/excluir as linhas? Se deletar/excluir, além de enviar os conteúdos pro lixo, todos os dados abaixo das linhas deletadas/excluídas subirão 3 linhas.


2. Após apagar as linhas, deverão ser criadas novas linhas de acordo com a quantidade indicada na célula AO22;
As linhas seriam inseridas a partir da linha 26, é isso?

3. As descrições das novas linhas deverão ser puxadas mediante função PROCV existente nas células K26 e K27;
4. As células D26 e D27 puxam dados da D21 e D22, seria necessário manter essas referências.
As linhas que você quer apagar contêm fórmulas, então, se entendi corretamente, vamos remover e em seguida recolocar as fórmulas nas mesmas células, que retornarão resultados iguais aos antes existentes. :roll:

Se ainda estiver confuso, só me falar
Sugestão: prepare um arquivo que contenha a planilha atual e coloque uma segunda planilha, cópia da primeira, e faça nela as alterações para que fique da forma que você pretende.
Deixe de lado por um momento a manobra de apagar/inserir linhas, desenhe a deixe a planilha como você quer como resultado, pois poderá haver outras soluções.
#67788
Isso é mais complicado do que estava pensando, rs

Então, na primeira questão, sim... desejo limpar o conteúdo das linhas 26 e 27, porém na verdade, será a partir da linha cujo título é "AS LINHAS SERÃO INSERIDAS A PARTIR DAQUI". Nesse exemplo são apenas 2 linhas, mas esse número de linhas vai variar, podendo ser 3, 5, 10, etc. Então a ideia é que, ao clicar no botão, o intervalo de linhas entre "AS LINHAS SERÃO INSERIDAS A PARTIR AQUI" e até " A PARTIR DAQUI, NÃO PODE APAGAR" sejam substituídas por novas linhas com seus respectivos conteúdos. Portanto, o conteúdo, que nesse exemplo está da linha 29 em diante deverá permanecer.

Então será um efeito sanfona. Quando clicar no botão, as linhas terão seus conteúdos alterados.

Segue arquivo de exemplo
#67793
Olá, @fernandogaseo .

Veja se entendi.

Tomando por base a coluna D da planilha do primeiro arquivo, a quantidade de linhas com fórmulas que deverá existir entre a célula com o texto PERÍODO e a célula com o texto TITULO deve ser igual ao valor retornado pela fórmula em AO22 + 1 linha vazia logo acima da célula com TITULO, é isso ?

Se sim, no primeiro exemplo o código iria inserir uma linha, pois há somente duas (pintadas de verde) e AO22=3.
Já no segundo exemplo, nada seria feito, pois já há 4 linhas e AO22=4.

Qual a fórmula em AO22 ?
Fórmula para contagem

=SE(F18>=4;1;F18+1)

SOMAR PRODUTOS

Junqueira, desculpa a demora . obrigado. perfeito

Boa tarde. Com a ajuda de um membro do fór[…]

Gráfico de Cascata

Olá, Estou tentando montar um gráfi[…]

Laundip, algumas dicas, quando vai realizar tra[…]

Galera, boa noite! Estou em um enorme desafio ment[…]

Olá, Não sou expert mas se quiser mi[…]

Só um complemento, estava errada a segunda […]