Página 1 de 1

Interromper Sub se Valor não for encontrado na tabela

Enviado: 19 Fev 2018 às 11:30
por GladstoneD
Bom dia!!!

Eu tenho essa planilha de vendas. Ao confirmar os dados, preciso de uma verificação pra saber que o produto vendido existe na lista de produtos cadastrados. Caso não exista, mostre uma msg alertando o usuário para verificar os dados. Tentei algo dessa maneira, mas não consigo que a msg se informada. Acredito que seja algo mais simples. Desde já agradeço
Código: Selecionar todos
Sub ValidaProduto()

Dim W as Worksheet
Set W = ThisWorkbook.Worksheets("Saldo Estoque")

W.Select

    linha = 2
    coluna = 2
    
    With W
        While .Cells(linha, coluna).Value = Me.CmbProduto.Value Or .Cells(linha, coluna).Value <> ""

         linha = linha + 1
        Wend
    End With

End Sub

Re: Interromper Sub se Valor não for encontrado na tabela

Enviado: 19 Fev 2018 às 12:07
por babdallas
Tente isso (utilizei o codename da planilha, que chamei aqui se wshSaldoEstoque)
Código: Selecionar todos
Sub ValidaProduto()

    With wshSaldoEstoque
         If application.Worksheetfunction.Countif(.Range("B:B", Me.CmbProduto.Value) =0 Then
                     VBA.Msgbox("Produto não cadastrado")
         else
                     VBA.Msgbox("Produto já cadastrado")
        end if
    End With

End Sub

Re: Interromper Sub se Valor não for encontrado na tabela

Enviado: 20 Fev 2018 às 01:10
por GladstoneD
babdallas escreveu:Tente isso (utilizei o codename da planilha, que chamei aqui se wshSaldoEstoque)
Código: Selecionar todos
Sub ValidaProduto()

    With wshSaldoEstoque
         If application.Worksheetfunction.Countif(.Range("B:B", Me.CmbProduto.Value) =0 Then
                     VBA.Msgbox("Produto não cadastrado")
         else
                     VBA.Msgbox("Produto já cadastrado")
        end if
    End With

End Sub
Uma solução tão simples e ao msm tempo tão genial. Obrigado mais uma vez!!!