Por mail, formularam a seguinte questão (adaptada): "Tenho uma folha em excel e gostaria de, quando eu digitasse o código de um trabalhador numa coluna de outra folha, fosse efectuada uma verificação na primeira folha, e, se a coluna com o nome "BAIXA", correspondente ao código digitado fosse diferente de "S", esse código fosse guardado, mas, se fosse igual a "S" , aparecesse uma mensagem e apagasse esse mesmo código."
Vejamos o exemplo:
Na folha1:
Na folha 2:
O Código (inserido do seguinte modo na folha 2):
Private Sub Worksheet_Change(ByVal Target As Range)
'JRod – Microsoft [MVP] – Excel
'blog: http://EXCELer.blogspot.com
'site: https://www.exceler.org
'email1: mail@exceler.org
'email2: blog.exceler@netcabo.pt
'
Const WS_RANGE As String = "A2:A10"
Dim c As Range, myRange As Range
On Error GoTo ws_exit
Application.EnableEvents = False
If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
With Target
Set myRange = Sheets(1).Range("A2:A10")
For Each c In myRange
If c.Value = ActiveCell.Offset(-1, 0).Value Then
If c.Offset(0, 1).Value = "S" Then
MsgBox "O trabalhador encontra-se de Baixa." & Chr(10) & "Inserção Impossível!", Buttons:=vbInformation
ActiveCell.Offset(-1, 0).Activate
ActiveCell.Value = ""
End If
End If
Next
End With
End If
ws_exit:
Application.EnableEvents = True
End Sub
Tópicos relacionados: