Notifications
Clear all

Verificar se o cliente exite

5 Posts
2 Usuários
0 Reactions
1,322 Visualizações
(@luizvarella)
Posts: 14
Active Member
Topic starter
 

Boa tarde! adaptei um codigo na minha planilha que cria um a nova aba cliente, presiso que antes de criar este cliente ela verifia se ele exite tenho este codigo que copia o valor da celua para uma coluna como segue

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count <> 1 Then Exit Sub
If Intersect(Target, Range("c1")) Is Nothing Then Exit Sub
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Target.Value
End Sub
gostaria que antes de joagr o valor na coluna A ele verificase se exite o valor da c1 na coluna A... sim avisa que exite este cliente volta para c1, se não copia para ultima celula vazia como ele ja faz isto dentro desta rotina acima é possivel ...

 
Postado : 31/05/2012 10:17 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

As duas primeiras linhas foram mantidas e a terceira foi relocada para outro local.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count <> 1 Then Exit Sub
    If Intersect(Target, Range("c1")) Is Nothing Then Exit Sub
    
    Dim Resultado As Range
    
    Set Resultado = Columns("A:A").Find(What:=Target.Value, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
    
    If Resultado Is Nothing Then 'Não encontrado
        Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Target.Value
    Else 'Encontrado
        MsgBox "Cliente já existe!", vbExclamation
        Resultado.Activate 'ativa a célula onde tem o nome existente
    End If
End Sub

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

 
Postado : 31/05/2012 3:43 pm
(@luizvarella)
Posts: 14
Active Member
Topic starter
 

alexandre boa noite! copiei este codigo para minha plan deu algum erro devo fazer alguma adaptação ou correção para que funcione?
envio um exemplo para vc obrigado pela atenção!!

 
Postado : 03/06/2012 7:36 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Luiz,

Desculpe pela demora....

Alterei de ActiveCell para o Range("A1") na linha de pesquisa.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count <> 1 Then Exit Sub
    If Intersect(Target, Range("c1")) Is Nothing Then Exit Sub
    
    Dim Resultado As Range
    
    Set Resultado = Columns("A:A").Find(What:=Target.Value, After:=Range("A1"), LookIn:=xlFormulas, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
    
    If Resultado Is Nothing Then 'Não encontrado
        Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Target.Value
    Else 'Encontrado
        MsgBox "Cliente já existe!", vbExclamation
        Resultado.Activate 'ativa a célula onde tem o nome existente
    End If
End Sub

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

 
Postado : 08/06/2012 11:22 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia Amigo, segue com base no que você precisava. Castro + verificação.
analisa e comenta.

att Markos

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

 
Postado : 09/06/2012 9:58 pm