Ir ao conteúdo
  • Cadastre-se

Macro para deslocar 3 células entre descrições e preencher espaço vazio


Posts recomendados

Olá, 

Estou querendo criar uma macro VBA para que sempre desloque 3 células abaixo de cada item, existem cerca de 4700 itens cadastrados nesta planilha, fazer manualmente não dá. Nas 3 linhas em branco,geradas pelo deslocamento, é preciso que um bloco de informação seja inserido depois de cada item, este bloco ocupa as células C1, C2, C3 da planilha(PLANILHA ESTÁ EM ANEXO).

Como se encontra:
 

Lista de itens sem deslocamento de células para baixo. Item 1 (descrição) item 2 (descrição) item 3 (descrição) item 4 (descrição) item 5 (descrição) etc... etc... etc...

Como deve ficar
 

Itens sempre com 3 linhas preenchidas abaixo da descrições, ou seja, com deslocamento de células Item 1 (descrição) Bloco de informação do item que deve preencher  o espaço vazio criado ao deslocar 3 células, este  espaço deve conter a informação contida nas C1, C2 ,C3 item 2 (descrição) Bloco de informação do item que deve preencher  o espaço vazio criado ao deslocar 3 células, este  espaço deve conter a informação contida nas C1, C2 ,C3 ..... Etc.... Etc... Etc...

Obs: Meu excel é o 2007, preciso saber onde inserir a fórmula.

Obrigado!

macro.xlsx

Link para o comentário
Compartilhar em outros sites

Olá, Ramon.

Não sei se entendi com exatidão o que você deseja. Experimente o código abaixo e veja se pode ser um ponto de partida.

O código trata somente da coluna 'A', considerando o seus dados a partir da linha 2.

Sub InsereDados() Dim k As Long, cArr As Variant  cArr = Range("C1:C3").Value  Do While Cells(k + 2, 1) <> ""   Range(Cells(k + 3, 1), Cells(k + 5, 1)).Insert Shift:=xlDown   Cells(k + 3, 1).Resize(3).Value = cArr   k = k + 4  LoopEnd Sub

 

Link para o comentário
Compartilhar em outros sites

Instale o código em um módulo comum, assim:
1. copie o código daqui
2. a partir da planilha em que estão os dados tecle 'Alt+F11' para acessar o editor de VBA
3. no menu do editor >> Inserir >> Módulo
4. cole o código na janela em branco que vai se abrir
5. feito! 'Alt+Q' para retornar para a planilha e testar

para rodar o código:
6. tecle 'Alt+F8' >> selecione a macro correspondente >> Executar, ou insira um botão na planilha e vincule-o à macro ou vincule-a a um atalho de teclado (Alt+F8 > Opções).

Link para o comentário
Compartilhar em outros sites

Você teria como explicar um pouco de cada função? Talvez eu tenha alguma ideia para alterar algumas coisas no código e ajudar ainda mais o meu trabalho. obg

 

A pessoa que estava querendo a planilha na verdade me explicou errado como queria a planilha, porém parece não ser muito diferente do método que você aplicou, veja como deve ficar na verdade.

 

Entendi... ;):):P

Sub InsereDadosV2() Dim k As Long, cArr As Variant  cArr = Range("K1:K3").Value  Do While Cells(k + 2, 2) <> ""   Range(Cells(k + 3, 2), Cells(k + 5, 9)).Insert Shift:=xlDown   Cells(k + 3, 1).Resize(3).Value = cArr   k = k + 4  LoopEnd Sub
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...