About Me

A minha fotografia
JRod - PORTUGAL
Microsoft [MVP] - Excel (10º ano consecutivo)
Ver o meu perfil completo
Com tecnologia do Blogger.

Seguidores

Estatisticas

Free Blog Counter

eXTReMe Tracker
Ocorreu um erro neste dispositivo
2007-09-14
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", o 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: http://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: