Notifications
Clear all

Ajuda com código para inserir linha

5 Posts
2 Usuários
0 Reactions
1,056 Visualizações
(@gmribeiro)
Posts: 37
Eminent Member
Topic starter
 

Pessoal, desejo inserir uma linha abaixo da linha copiada com a mesma formatação e fórmulas da anterior. Encontrei o seguinte código no fórum, no entanto, preciso ajustar qual linha é copiada, e não sei qual parte do código tem essa informação. Melhor ainda, se possível, gostaria de copiar a linha 31, apenas da coluna A à L, e não ela inteira. Obrigada!

Sub InsereLinha()
    Dim UltimaLinha As Long
    
        UltimaLinha = Range("B" & Rows.Count).End(xlUp).Row
        
        Range("B" & UltimaLinha).EntireRow.Copy
        Range("B" & UltimaLinha + 1).EntireRow.Insert
        
        UltimaLinha = UltimaLinha + 1

End Sub
 
Postado : 31/03/2015 2:16 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 
Sub InsereLinha()
    Dim UltimaLinha As Long
    
        UltimaLinha = Range("B" & Rows.Count).End(xlUp).Row
        
        Range("A" & UltimaLinha & ":L" & UltimaLinha).Copy
        Range("A" & UltimaLinha + 1).Insert
        
        UltimaLinha = UltimaLinha + 1

End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 31/03/2015 2:23 pm
(@gmribeiro)
Posts: 37
Eminent Member
Topic starter
 

É quase isso Fernando" As colunas estão certinhas, mas a linha que está sendo copiada é a 50, e não a 31. Testei em uma planilha em branco e a linha copiada é a 1. Não sei por que aconteceu isso.
Se tiver como colocar para copiar as células ativas ou algo do tipo e manter esse funcionamento, de acrescentar a linha para baixo sem sobrepor e com a mesma formatação, melhor ainda! Pois terei que fazer isso para mais linhas da mesma planilha.

Tem como trocar UltimaLinha por ActiveCell?

Obrigada!

 
Postado : 31/03/2015 4:11 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Agora vai:

Sub InsereLinha()
    Dim UltimaLinha As Long
    
        UltimaLinha = ActiveCell.Row
        
        Range("A" & UltimaLinha & ":L" & UltimaLinha).Copy
        Range("A" & UltimaLinha + 1).Insert
        
        UltimaLinha = UltimaLinha + 1

End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 02/04/2015 7:23 am
(@gmribeiro)
Posts: 37
Eminent Member
Topic starter
 

Perfeito, era isso o que eu precisava! Me ajudou muito!

Muito obrigada, Fernando!

 
Postado : 02/04/2015 1:06 pm