Ir ao conteúdo
  • Cadastre-se
Camila Danielle

Duplicidade de dados

Recommended Posts

Boa tarde!

 

Preciso criar um código onde, ao digitar um dado pelo formulário para ser cadastrado, ele acuse se ele já existe na minha planilha. 

Já tentei o PROCV e o If mas ambos geram erro.

 

Segue o que foi digitado:

Private Sub SalvarFab_Click()
    
    Dim linhavazia As Long
' Verifica se o campo está vazio ou já existe na planilha
    If fornecedor.Value = "" Then
        If fornecedor = Application.WorksheetFunction.Lookup(fornecedor.Value, Plan3.Range("C:C"), 3, 0) Then
            MsgBox ("Dado incorreto ou já existente.")
            fornecedor.SetFocus
        End If
    Exit Sub
    Else
    End If
    
    'Salvar dados em planilha Banco de Dados
    Sheets("BD").Select
    
    linhavazia = WorksheetFunction.CountA(Range("C:C")) + 1
    
    'Insere informações
    Cells(linhavazia, 3).Value = fornecedor.Value
   
   
    
    
    ' Ordenar Macro
    ' Coloca em ordem alfabética
    ' Atalho do teclado: Ctrl+l
    
    Application.ScreenUpdating = False
    Columns("C:C").Select
    Range("C2").Activate
    ActiveWorkbook.Worksheets("BD").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("BD").Sort.SortFields.Add Key:=Range( _
        "C2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("BD").Sort
        .SetRange Range("C2:C100")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    
    MsgBox ("Fornecedor cadastrado com sucesso!!!")
    
       
    'Voltar para página principal
    'Medicamento.Show
    
    Unload Me
End Sub

 

Agradeço desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite.

 

Qual erro é gerado?

 

Mas é bom lembrar que apesar de uma planilha Excel, ser parecida com uma tabela de banco de dados,  ela tem comportamento diferente e não suporta  vários comandos de um 'db'.

 

é uma exceção ou resultado errado?

me parece resultado errado, no Excel é necessário definir as colunas abrangidas(campos) e as linhas (registros) para uma ordenação e o campo a ser ordenado, dessa maneira você mantém a integridade dos registros (linhas).

exemplo:

você tem na coluna 'C' o fornecedor e na 'D' o telefone.

da maneira que você fez ele ordena so a coluna 'C' perdendo a referencia da coluna 'D'.

quando você ordena usando a função classificar ele pergunta quais colunas serão utilizadas, na macro não.

 

Dependendo da complexidade do que você esta desenvolvendo eu recomendo você mudar para o Access, ele contempla a estrutura de banco de dados e você pode usar o formato tabelas ou formulário que facilita a edição e visualização dos dados.

 

De qualquer forma é necessário saber qual tipo de erro e a estrutura da planilha.

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×