Ir para conteúdo
Fórum Script Brasil
  • 0

Acesso usuário/senha


Jefferson S.G.

Pergunta

Alguém poderia me ajudar?

Tenho alguns arquivos que acompanham a produtividade dos vendedores por equipe. Cada arquivo corresponde a uma equipe de vendedores.

Precisava criar uma sub (para cada arquivo separadamente) que abrisse somente a planilha correspondente ao vendedor/usuário por base me sua senha.

Criei um combobox para selecionar a lista de vendedores cadastrados em uma planilha oculta dentro do arquivo. Na outra coluna (ao lado da lista dos vendedores) são cadastradas as senhas na qual o vendedor digitará em um textbox dentro do mesmo formulário.

Criei a seguinte sub para o botão "Entrar"

Private Sub CommandButton1_Click()
With Plan11
     If CStr(TextBox1.Value) = CStr(Application.WorksheetFunction.VLookup(ComboBox1.Value, Plan15.[a1:b11], 2, False)) Then
        Pos = Application.WorksheetFunction.Match(ComboBox1.Value, Plan15.[a1:b11], 0)
        Cod = Plan15.Cells(Pos, 1)
            For i = 1 To 11
                If .Cells(i, 1) = Cod Then
                .Cells(i, 2).Locked = False
                .Cells(i, 3).Locked = False
                Else
                .Cells(i, 2).Locked = True
                .Cells(i, 3).Locked = True
                End If
            Next i
        Me.Hide
        .Select
    Else
    MsgBox Prompt:="Senha inválida para este usuário!", Buttons:=vbOKOnly + vbCritical, Title:="Erro"
    .Cells.Locked = True
    End If
End With
End Sub

Quando o usuário digita a senha errada, a mensagem "Senha inválida para este usuário!" funciona normalmente. Porém, quando digita a senha correta, o erro abaixo aparece identificando a seguinte linha:

Pos = Application.WorksheetFunction.Match(ComboBox1.Value, Plan15.[a1:b11], 0)

Erro: Erro de tempo de execução '1004':

Não é possível obter a propriedade Match da classe WorksheetFunction.

Creio faltar também algum comando para acionar a planilha de acordo com o usuário/vendedor

Alguém teria alguma dica para solucionar tal problema?

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

O erro da função Match consegui resolver.

Ficou assim o code

Private Sub CommandButton1_Click()
With Plan11
     If CStr(TextBox1.Value) = CStr(Application.WorksheetFunction.VLookup(ComboBox1.Value, Plan15.[a1:b11], 2, False)) Then
        Pos = Application.WorksheetFunction.Match(ComboBox1.Value, Plan15.[a1:a11], 0)
        Cod = Plan15.Cells(Pos, 1)
            For i = 1 To 11
                If .Cells(i, 1) = Cod Then
                .Cells(i, 2).Locked = False
                Else
                .Cells(i, 2).Locked = True
                End If
            Next i
        Me.Hide
        .Select
    Else
    MsgBox Prompt:="Senha inválida para este usuário!", Buttons:=vbOKOnly + vbCritical, Title:="Erro"
    .Cells.Locked = True
    End If
End With
End Sub

Precisava de uma dica para abrir a planilha de acordo com o usuário.

As planilhas tem o mesmo nome do usuário/vendedor.

Alguém tem alguma dica?

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

  • 0

jefferson, quando você for postar um codigo, ponha dentro da tag CODE, q fica mais facil pra gente ler. tipo assim:

[c.o.d.e]ponha seu codigo aqui[/c.o.d.e]

so q sem os pontos pra escrever code.

mas pra abrir a planilha de acordo com o nome, você quer dizer q são varias planilhas dentro do mesmo .xls??

então acho q seria tipo assim:

Worksheets(nome_da_planilha).Visible = True
Worksheets(nome_da_planilha).Activate[/code]

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpem-me, não sabia do tag code.

Kuroi, mas como vou identificar o nome da planilha pelo usuário logado?

Exemplo, tenho os seguintes vendedores em um dos arquivos:

Clodoaldo

Denilson

Edson dos Santos

Jocely

Manoel Jr

Mayco

Rodrigo Torezani

Rogério

Ronaldo Cunha

Sandro

Wellington

Gostaria de quando o Clodoaldo entrasse com seu usuário e senha somente a planilha dele fosse visualisada, e o mesmo para todos os demais. Como eu disse, as planilhas tem o mesmo nome dos vendedores.

E todas estão no mesmo .xls sim. (vou fazer uma macro para cada arquivo separadamente)

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

  • 0

jefferson, mas o vendedor digita o nome dele pra logar, não??

ou então, quando você procurar a senha do usuario na planilha, você poderia dexar o nome dele escrito em alguma celula na mesma linha, de modo q você conseguisse acessa-la pra pegar o nome.

porque o nome da planilha é o mesmo do usuario, certo?? então, naquele codigo q eu passei, no lugar de nome_da_planilha você passava o nome do usuario.

Link para o comentário
Compartilhar em outros sites

  • 0

Consegui. Valeu Kuroi.

Estava na cara e não percebi. estou começando a aprender agora o VBA, acho que deu pra perceber né! rs

De qualquer forma, vou postar o code caso alguém tenha uma dúvida como a minha:

Private Sub CommandButton1_Click()
With Plan11
     If CStr(TextBox1.Value) = CStr(Application.WorksheetFunction.VLookup(ComboBox1.Value, Plan15.[a1:b11], 2, False)) Then
        Pos = Application.WorksheetFunction.Match(ComboBox1.Value, Plan15.[a1:a11], 0)
        cod = Plan15.Cells(Pos, 1)
        Me.Hide
        Worksheets(cod).Visible = xlSheetVisible
        Worksheets(cod).Select
    Else
        MsgBox Prompt:="Senha inválida para este usuário!", Buttons:=vbOKOnly + vbCritical, Title:="Erro"
    End If
End With
End Sub

Brigadão!!!

Editado por Jefferson S.G.
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...