Ir ao conteúdo
  • Cadastre-se

Posts recomendados

Instale o código abaixo 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).


 

Sub ReplicaDados()
 Dim n As Range
 Range("F12:G" & Cells(Rows.Count, 6).End(3).Row) = ""
 For Each n In Range("B3:B" & Range("B3").End(4).Row)
  Cells(n.Value, 6).Resize(, 2).Value = n.Offset(, 1).Resize(, 2).Value
 Next n
End Sub

obs. embora a sua descrição passe a ideia de remoção da tabela original (Excel-macro move; Preciso movimentar células) optei por reproduzi-la mas não apagá-la.

Link para o comentário
Compartilhar em outros sites

19 horas atrás, osvaldomp disse:

Instale o código abaixo 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).


 


Sub ReplicaDados()
 Dim n As Range
 Range("F12:G" & Cells(Rows.Count, 6).End(3).Row) = ""
 For Each n In Range("B3:B" & Range("B3").End(4).Row)
  Cells(n.Value, 6).Resize(, 2).Value = n.Offset(, 1).Resize(, 2).Value
 Next n
End Sub

obs. embora a sua descrição passe a ideia de remoção da tabela original (Excel-macro move; Preciso movimentar células) optei por reproduzi-la mas não apagá-la.

Osvaldomp,

 

Valeu e muito.

É exatamente isso que precisava.

 

Mais uma vez obrigado.

 

Link para o comentário
Compartilhar em outros sites

59 minutos atrás, Antonio CNSantos disse:

Osvaldomp,

 

Valeu e muito.

É exatamente isso que precisava.

 

Mais uma vez obrigado.

 

Osvaldo,

 

Na hora de aplicar na minha planilha surgiu uma duvida.

O que significa o 6 e o 3 na expressão Cells(Rows.Count, 6).End(3).Row)

e o 4 em Range("B3:B" & Range("B3").End(4).Row)

 

 

Link para o comentário
Compartilhar em outros sites

Cells(Rows.Count, 6).End(3).Row)

O comando acima busca a última linha com conteúdo na coluna 6 (coluna 'F'). Pode haver células vazias na tabela nessa coluna.

 

Range("B3:B" & Range("B3").End(4).Row)

O comando acima busca a última linha com conteúdo na coluna 'B'. Não deve haver células vazias na tabela nessa coluna.

 

Se você tiver dificuldade disponibilize uma amostra com estrutura   E X A T A M E N T E   I G U A L    à sua planilha original.

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...