- 18 Fev 2019 às 15:27
#41356
Boa tarde a todos
Tenho uma planilha em que copio dados e colo em outra planilha, para isso, uso o seguinte cód
Sub Macro15()
Worksheets("Plan1").Unprotect Password:="123mudar"
Worksheets("Plan1").Select
Range("B4:Y4").Select
Selection.AutoFilter
Selection.AutoFilter
Worksheets("tb_bd").Select
If Range("aF5") >= 1 Then
MsgBox "Algum campo faltou ser preenchido, verificar!"
Exit Sub
Else
If MsgBox("Tem certeza que deseja lançar?", vbYesNo, "Lançar valores!") = vbNo Then
Exit Sub
Else
Range("P6:X" & Range("P1048576").End(xlUp).Row).Select
Selection.Copy
Sheets("Plan1").Select
Range("B" & Range("R1048576").End(xlUp).Row + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("tb_bd").Select
Range("Y6:Ad" & Range("P1048576").End(xlUp).Row).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Plan1").Select
Range("o" & Range("R1048576").End(xlUp).Row + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("M12").Select
End If
End If
Worksheets("Plan1").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True, Password:="123mudar"
End Sub
Agora, modifiquei o intervalo de B4:Y7000 para uma tabela (TABELA3), porém duas coisas pararam de funcionar, a primeira delas é desativar o autofiltro, que fiz na 4ª e 5ª linha do cód.
A segunda delas é a de encontrar a ultima linha disponível no intervalo para colagem, que utilizava assim:
Range("P6:X" & Range("P1048576").End(xlUp).Row).Select
Alguém pode me ajuda?
Sou iniciante em VBA, se alguém souber uma solução, favor colar o novo cód para que eu teste.
Muito obrigado.
Obs: a planilha é da empresa, não posso disponibilizar ela aqui.
Tenho uma planilha em que copio dados e colo em outra planilha, para isso, uso o seguinte cód
Sub Macro15()
Worksheets("Plan1").Unprotect Password:="123mudar"
Worksheets("Plan1").Select
Range("B4:Y4").Select
Selection.AutoFilter
Selection.AutoFilter
Worksheets("tb_bd").Select
If Range("aF5") >= 1 Then
MsgBox "Algum campo faltou ser preenchido, verificar!"
Exit Sub
Else
If MsgBox("Tem certeza que deseja lançar?", vbYesNo, "Lançar valores!") = vbNo Then
Exit Sub
Else
Range("P6:X" & Range("P1048576").End(xlUp).Row).Select
Selection.Copy
Sheets("Plan1").Select
Range("B" & Range("R1048576").End(xlUp).Row + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("tb_bd").Select
Range("Y6:Ad" & Range("P1048576").End(xlUp).Row).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Plan1").Select
Range("o" & Range("R1048576").End(xlUp).Row + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("M12").Select
End If
End If
Worksheets("Plan1").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True, Password:="123mudar"
End Sub
Agora, modifiquei o intervalo de B4:Y7000 para uma tabela (TABELA3), porém duas coisas pararam de funcionar, a primeira delas é desativar o autofiltro, que fiz na 4ª e 5ª linha do cód.
A segunda delas é a de encontrar a ultima linha disponível no intervalo para colagem, que utilizava assim:
Range("P6:X" & Range("P1048576").End(xlUp).Row).Select
Alguém pode me ajuda?
Sou iniciante em VBA, se alguém souber uma solução, favor colar o novo cód para que eu teste.
Muito obrigado.
Obs: a planilha é da empresa, não posso disponibilizar ela aqui.