Notifications
Clear all

Macro até ultima linha.

7 Posts
4 Usuários
0 Reactions
2,430 Visualizações
(@robertonl)
Posts: 121
Estimable Member
Topic starter
 

Boa noite.
Estou com uma planilha na qual quando atualizo ela informa o código.
Porém não quero informar a ultima linha, desejo que a própria macro reconheça a ultima linha preenchida.
Observação Algumas células desta planilha está protegida.. Tem como colocar um comando que desbloqueia e bloqueia sem a necessidade de desbloquear manualmente.

Sub Teste()
'
' Teste Macro
''
    Range("B3").Select
    Selection.AutoFill Destination:=Range("B3:B2000")
    Range("B3:B2000").Select
    Range("E3").Select
    Selection.AutoFill Destination:=Range("E3:E2000")
    Range("E3:E2000").Select
    Range("G3").Select
    Selection.AutoFill Destination:=Range("G3:G1001")
    Range("G3:G2000").Select
End Sub
 
Postado : 03/11/2017 9:59 pm
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
 

' Nesse caso estamos supondo que a coluna base é a coluna A, onde entende-se por coluna base, a coluna que servirá de referência para a ultima linha preenchida

Sub Teste()
Dim ul As Long
ul = [Plan1].Range("A" & Rows.Count).End(xlUp).Row  ' se a coluna A não for a referência basta altera-la
Range("B3").Select
Selection.AutoFill Destination:=Range("B3:B" & ul)
Range("E3").Select
Selection.AutoFill Destination:=Range("E3:E" & ul)
Range("G3").Select
Selection.AutoFill Destination:=Range("G3:G" & ul)
End Sub

Proteger:

ActiveSheet.Protect "sua senha aqui" ' insira no início do código

Desproteger:

ActiveSheet.Unprotect "sua senha aqui" 'insira no final do código

Espero ter ajudado...

Abrç!

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 04/11/2017 6:58 am
(@robertonl)
Posts: 121
Estimable Member
Topic starter
 

Seguindo a orientação, ela está dando um erro.
Segue o arquivo em anexo.

 
Postado : 04/11/2017 11:54 am
gfranco
(@wzxnet7)
Posts: 653
Honorable Member
 

Boa tarde.
Veja se é isso que deseja:

Sub preenche()
Dim w As Worksheet
Dim senha As String
senha = "123"
Set w = Planilha5
Dim ulinha As Long
w.Activate

If w.ProtectContents = True Then

w.Unprotect senha

End If

ulinha = w.Cells(Cells.Rows.Count, 1).End(3).Row

w.Range("b3").AutoFill w.Range("b3:b" & ulinha)
w.Range("e3").AutoFill w.Range("e3:e" & ulinha)
w.Range("g3").AutoFill w.Range("g3:g" & ulinha)


w.Protect senha
End Sub

Resposta útil? Clique na mãozinha ao lado do botão Citar.

 
Postado : 04/11/2017 12:18 pm
(@robertonl)
Posts: 121
Estimable Member
Topic starter
 

Funcionou perfeitamente

 
Postado : 04/11/2017 1:54 pm
(@robertonl)
Posts: 121
Estimable Member
Topic starter
 

Estou tentando transferir a formula dentro da planilha para macro vba e a mesma não ficar pesada.
Tentei utilizar a formula abaixo.
Obs. O código da matéria prima possui letras e números, porem a minha macro está dando erro.
Alguém poderia me dar uma luz.
Segue o código abaixo.
Sub atualiza_Info()

Dim i As String

FinalRow = Cells(Rows.Count, 3).End(xlUp).Row

For i = 2 To FinalRow

Cells(i, 2) = Application.WorksheetFunction.VLookup(Cells(i, 3), Worksheets("Cadastro").Range("B2:C400"), 3, 0)
Next i

End Sub

 
Postado : 17/11/2017 11:53 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Você definiu a Variável "i" errado e tambem a Linha Inicial sendo a 02 e o correto é a 3, e tambem a pesquisa até a coluna "C" da aba Cadastros e o certo é a "D", veja se agora está funcionando como quer :

Sub atualiza_Info()
'i não é String
Dim i As Integer

FinalRow = Cells(Rows.Count, 3).End(xlUp).Row
    
    'i = a linha 3 a dois é o Rótulo
    For i = 3 To FinalRow
        'você usou Range("B2:C400")e o certo é "D" Range("B2:D400")
        Cells(i, 2) = Application.WorksheetFunction.VLookup(Cells(i, 3), Worksheets("CADASTROS").Range("B2:D400"), 3, 0)
    Next i

End Sub

[]s

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

 
Postado : 17/11/2017 1:42 pm