- 21 Mar 2018 às 23:28
#31269
Olá pessoal, estou com um problema em uma macro que estou criando e gostaria de compartilhar com vocês na tentativa de encontrar uma solução.
Vamos lá..
Preciso copiar um determinado valor em uma célula (por exemplo J2) e então colar na primeira célula de uma lista que vai de G38278:G40042. Após colar, tenho que usar o auto preenchimento para que o valor colado na primeira célula da lista seja transferido para as demais células da lista (até G40042). Consegui desenvolver a programação até aqui, porém queria otimiza-la da seguinte maneira:
1) Nem sempre minha lista vai terminar em G40042, às vezes pode ser em G41806 ou G43570, por exemplo (sempre em intervalos de 1764 linhas). Como programar para que a seleção não seja pré determinada (de G38278 a G40042), mas sim de G38278 até o último valor da coluna G com conteúdo.
Em suma, como fazer uma seleção onde eu não tenha um valor final fixo, mas sim na célula em que tiver o último conteúdo da coluna.
Espero que tenha ficado claro e conto com ajuda de vocês.
Se ficou alguma dúvida me escrevam que tento ser mais claro.
Obs.: código anexo
Sub Macro2()
'
Dim LR As Long 'retorna o número da última linha com conteúdo na coluna
LR = Sheets("RESUMO").Cells(Rows.Count, 2).End(xlUp).Row
Range("J2").Select
Selection.Copy
Range("G" & LR - 1764).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("G38278:G40042") 'acredito que o essencial é mexer neste intervalo
Range("G38278:G40042").Select
'
End Sub
Obrigado
Vamos lá..
Preciso copiar um determinado valor em uma célula (por exemplo J2) e então colar na primeira célula de uma lista que vai de G38278:G40042. Após colar, tenho que usar o auto preenchimento para que o valor colado na primeira célula da lista seja transferido para as demais células da lista (até G40042). Consegui desenvolver a programação até aqui, porém queria otimiza-la da seguinte maneira:
1) Nem sempre minha lista vai terminar em G40042, às vezes pode ser em G41806 ou G43570, por exemplo (sempre em intervalos de 1764 linhas). Como programar para que a seleção não seja pré determinada (de G38278 a G40042), mas sim de G38278 até o último valor da coluna G com conteúdo.
Em suma, como fazer uma seleção onde eu não tenha um valor final fixo, mas sim na célula em que tiver o último conteúdo da coluna.
Espero que tenha ficado claro e conto com ajuda de vocês.
Se ficou alguma dúvida me escrevam que tento ser mais claro.
Obs.: código anexo
Sub Macro2()
'
Dim LR As Long 'retorna o número da última linha com conteúdo na coluna
LR = Sheets("RESUMO").Cells(Rows.Count, 2).End(xlUp).Row
Range("J2").Select
Selection.Copy
Range("G" & LR - 1764).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("G38278:G40042") 'acredito que o essencial é mexer neste intervalo
Range("G38278:G40042").Select
'
End Sub
Obrigado