Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

hesilva

Como fazer com que os dados nao se repitam

Mensagens Recomendadas

hesilva

Boas Pessoal, venho aqui mais uma vez para tentar saber que codigo posso usar no vba excel para quando estou a inserir num formulario, numa texbox o numero de bi, ele me retorne com erro se esse mesmo bi ja estivar na coluna? ou seja um controlo para nao haver dados repetido tipo na coluna A..

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
joseA

Esse "bi" seria um identificador?

Se for tente assim

Private Sub Gravar_Click()
Dim lastRow As Long
Dim rg As Range

' Verifica qual a ultima linha preenchida (Folha1 - VBAProject)
    lastRow = Folha1.Cells(Rows.Count, 1).End(xlUp).Row
'Guarda a area a procurar colunaA se dados repetidos txt1
    Set rg = Folha1.Range("A2:A" & lastRow)
'Caso não encontre nenhum nome igual cadastra
    If rg.Find(TextBox1.Text) Is Nothing Then
  If MsgBox("Confirma entrada de dados de: " & Me.TextBox2 & " ?", vbYesNo + vbQuestion, "Cadastro") = vbNo Then
   Exit Sub
  End If
        Folha1.Cells(lastRow + 1, 1) = TextBox1.Text
        Folha1.Cells(lastRow + 1, 2) = TextBox2.Text
    Else
        MsgBox "Código já existente!", vbCritical
        Exit Sub
    End If
MsgBox "Entrada de dados: " & Me.TextBox2 & " realizada com sucesso !!!", 64, "Cadastro"

End Sub

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
hesilva

como é que eu meto aqui aquele codigo que me deste, para nao se repetir o campo.... O campo ARTIGO é como se fosse o B.I

Private Sub FORNECER_Click()

        Dim ultimaLinha As Long

        Dim ws As Worksheet

        Set ws = Worksheets("CARDEX_FORN")

       

       

        ' Verifica qual a ultima linha preenchida

        ultimaLinha = ws.Cells(65536, 1).End(xlUp).Row + 1

        ' Preenche as células

        ws.Cells(ultimaLinha, 1).Value = ARTIGO.Text

        If Len(ARTIGO.Text) = 0 Then

        MsgBox "campo de preenchimento Obrigatório.", vbExclamation

        Exit Sub

        End If

        ws.Cells(ultimaLinha, 2).Value = DESCR.Text

        ws.Cells(ultimaLinha, 3).Value = MODEL.Text

        ws.Cells(ultimaLinha, 4).Value = FABR.Text

        ws.Cells(ultimaLinha, 5).Value = CAT.Text

        ws.Cells(ultimaLinha, 6).Value = UF.Text

        ws.Cells(ultimaLinha, 7).Value = QT.Text

        ws.Cells(ultimaLinha, 8).Value = PRECO.Text

        ws.Cells(ultimaLinha, 9).Value = IVA.Text

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
hesilva

jose foi uma grande ajuda...ja ta feito consegui meter o codigo... tenho mais uma duvida...e penso que seja a ultima  :bored:

como vez no codigo em cima, é para inserir dados numa tabela, para gestao de stock. em suma o que preciso é: como impedir que o fornecimento seja maior que a quantidade existente...ate aqui nao e complicado agora...como vou associar a quantidade com o Artigo...deve ser qualquer coisa do tipo procv.... espero que percebam o que pretendo Brigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
hesilva

eu gravei uma macro enquanto fazia a funcao procv e deu-me isto:

ActiveCell.FormulaR1C1 = "=VLOOKUP(R[-16]C,R[-11]C[-6]:R[-7]C[-3],2,FALSE)"

é possivel fazer a partir daqui? se der que me explica? ;)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.