Olá!
Eu tenho uma dúvida e estou travado neste código. Eu preciso criar uma condição onde um loop rode somente uma coluna até achar um produto igual, e caso ache um produto igual, deve exibir uma mensagem de erro e apagar os dados que forem cadastrado nessa linha. Mas eu não consegui construir um código para isso. Segue um pedaço do código abaixo
Private Sub botao_adicionar_Click()
Dim Linha As Long
Dim i As Integer
Dim variavel As Long
Plan6.Range("A2").Select
If campo_produto <> "" And campo_quantidade <> "" Then
Do
If Not (IsEmpty(ActiveCell)) Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell) = True
ActiveCell.Offset(0, 0).Value = campo_codigoov.Text
ActiveCell.Offset(0, 1).Value = campo_data.Text
ActiveCell.Offset(0, 2).Value = campo_retirada.Text
ActiveCell.Offset(0, 3).Value = campo_coddocliente.Text
ActiveCell.Offset(0, 4).Value = campo_cliente.Text
ActiveCell.Offset(0, 5).Value = campo_endereco.Text
ActiveCell.Offset(0, 6).Value = campo_numero.Text
ActiveCell.Offset(0, 7).Value = campo_bairro.Text
ActiveCell.Offset(0, 8).Value = campo_cep.Text
ActiveCell.Offset(0, 9).Value = campo_estado.Text
ActiveCell.Offset(0, 10).Value = campo_cidade.Text
ActiveCell.Offset(0, 11).Value = campo_telefone.Text
ActiveCell.Offset(0, 12).Value = campo_produto.Text
variavel = 0
Linha = 2
Do Until Sheets("OVPRODUTO ").Cells(Linha, 12) = campo_produto
Linha = Linha + 1
variavel = variavel + 1
Loop
If variavel = 1 Then
MsgBox ("O Produto já foi cadastrado, por favor cadastre outro!"), vbInformation + vbOKOnly, "Ordem de Vendas"
campo_data = ""
campo_retirada = ""
campo_coddocliente = ""
campo_cliente = ""
campo_endereco = ""
campo_numero = ""
campo_bairro = ""
campo_cep = ""
campo_estado = ""
campo_cidade = ""
campo_telefone = ""
campo_produto = ""
campo_quantidade = ""
campo_status = ""
campo_observacao = ""
campo_caixas = ""
Else
ActiveCell.Offset(0, 12).Value = campo_produto.Text
End If
ActiveCell.Offset(0, 13).Value = campo_quantidade.Text
ActiveCell.Offset(0, 14).Value = campo_status.Text
ActiveCell.Offset(0, 15).Value = campo_observacao.Text
ActiveCell.Offset(0, 16).Value = campo_caixas.Text
Comando = "Select * from tabestoque where prod_id = '" & campo_produto & "'"
Set rsOV = Conexao.OpenRecordset(Comando, dbOpenDynaset)
If rsOV.RecordCount <> 0 Then
campo_dproduto = rsOV!prod_descricao
Set Item = lista_produtos.ListItems.Add(Text:=campo_produto)
Item.SubItems(1) = campo_dproduto
Item.SubItems(2) = campo_quantidade
Item.SubItems(3) = campo_observacao
campo_produto = ""
campo_quantidade = ""
Else
MsgBox ("Não foi encontrado o produto para o numero de código informado!"), vbInformation + vbOKOnly, "Ordem de Vendas"
End If
Else
MsgBox ("Favor informar o código do produto e sua quantidade!"), vbInformation + vbOKOnly, "Ordem de Vendas"
End If
End Sub
Qual seria uma condição ideal para isso?
Postado : 17/09/2015 9:36 am