Notifications
Clear all

Bloquear planilha para Edição!

2 Posts
2 Usuários
0 Reactions
835 Visualizações
(@anacletotranstusa)
Posts: 64
Estimable Member
Topic starter
 

Bom dia,

Estou desenvolvendo uma planilha para gerenciar o preenchimento de várias informações diárias corriqueiras do dia dia.

Personalizei uma forma de cadastro como várias validações de dados, vários bloqueios para evitar o preenchimento equivocado. No código abaixo se refere ao botão cadastrar, preciso de ajuda para que na planilha que recebe as informações cadastradas o usuário que estiver alimentando as informações não consiga preencher as informações para planilha que recebe os dados, só consiga cadastrar informações pela planilha de lançamentos ou seja consiga incluir somente clicando no botão cadastrar.

no segundo código abaixo, consigo bloquear a planilha que recebe os dados, onde bloqueia as informações cadastradas, não permitindo que o usuário consiga alterá-los. Agora meu objetivo é bloquear a planilha para que o usuário não consiga incluir informações.

Sub Cadastro_Troca_Veiculo()
Dim ws As Worksheet
Dim lRow As Long

If Range("O12") = 1 Then

MsgBox "Inclusão Invalida. Essa Troca já foi Cadastrado.", vbCritical, "Atenção"

Exit Sub
Else

If Range("I10") = "" Or Range("l10") = "" Or Range("o10") = "" Or Range("R10") = "" Or Range("U10") = "" Or Range("F13") = "" Or Range("R15") = "" Then
MsgBox " Favor prencher todos os campos especificados com *, caso contrário não será concluido o cadastro.", vbCritical, "Atenção"
Exit Sub

Else

Set ws = ThisWorkbook.Sheets("Troca_Veiculo")
With ws
lRow = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
.Cells(lRow, "A") = Range("E34")
.Cells(lRow, "B") = Range("F34")
.Cells(lRow, "c") = Range("G34")
.Cells(lRow, "d") = Range("H34")
.Cells(lRow, "e") = Range("I34")
.Cells(lRow, "f") = Range("J34")
.Cells(lRow, "g") = Range("K34")
.Cells(lRow, "h") = Range("L34")
.Cells(lRow, "i") = Range("M34")
.Cells(lRow, "J") = Range("N34")
.Cells(lRow, "K") = Range("O34")

End With

MsgBox "Dados gravados com sucesso!", vbInformation
Call Limpar_Troca_Veiculo
Range("I10").Select
End If

End If

End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim rCell As Range

With Me.Sheets("Troca_Veiculo")

.Unprotect "9928"

.Cells.Locked = False
For Each rCell In .UsedRange
If Len(Trim(rCell)) > 0 Then
rCell.Locked = True
End If
Next rCell

.Protect "9928"

End With

 
Postado : 16/02/2015 8:28 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Além de nossa rica base de dados, você pode postar seu arquivo modelo compactado, caso, somente, caso não consiga adaptar!!
http://www.google.com.br/cse?cx=partner ... gsc.page=1

Att

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

 
Postado : 16/02/2015 8:34 am