Página 1 de 1

Login e senha na pasta de trabalho para abrir planilhas

Enviado: 21 Abr 2015 às 07:30
por Joscyel
Olá Guru, bom dia!

Estou elaborando uma pasta de trabalho onde será compartilhada em rede para várias pessoas usarem, mas tenho que colocar restrição a cada usuário. Por exemplo. Na pasta de trabalho tenho as planilhas Plan1 a Plan20, mas o Usuário "A" terá acesso somente as planilhas Plan5 e Plan10, o Usuário "B" terá acesso somente as planilhas de Plan2 a Plan10, o usuário "C" terá acesso as planilhas Plan12, Plan15 e Plan17 e o administrador terá acesso a todas as planilhas.

Achei uma planilha com o código em VBA como eu queria, mas o problema é que ele está com um erro e como não entendo quase nada de VBA, estou sem poder corrigir. A planilha até faz o que preciso, porém quando insiro um usuário e indico a qual planilha ele terá acesso, ele sempre começa da Plan1 e não da que indico.

Segue a planilha que baixei com o código em anexo.

Login e senha na pasta de trabalho para abrir planilhas

Enviado: 21 Abr 2015 às 09:09
por laennder
Joscyel,

Testei a planilha e não encontrei o erro que você citou. Aparece justamente as abas que eu configurei na plan 'Senha'. Apenas tem q ficar atento que você deve configurar uma planilha por linha, repetindo o usuário e a senha.

Re: Login e senha na pasta de trabalho para abrir planilhas

Enviado: 21 Abr 2015 às 11:20
por Joscyel
Lander, tente inserir um novo usuário e deixar ele para abrir somente a Plan3, quando fizer isso e colocar o login e senha, o que vai aparecer é a Plan1. É isso que esta acontecendo comigo.

Outra coisa é como renomear o nome da planilha e como inserir mais planilhas também. Nesse modelo ai, não consigo inserir e nem renomear uma planilha.

Re: Login e senha na pasta de trabalho para abrir planilhas

Enviado: 21 Abr 2015 às 12:13
por laennder
Agora sim percebi o erro.

Mudei um pouco o código, agora você vai adicionar um usuário por linha, e separar as planilhas por virgula, sem espaço entre elas... assim:

Imagem

O código VBA ficou assim:
Código: Selecionar todos
Private Sub CommandButton1_Click()
    Dim indice As Long
    Dim lTotal      As Long
    Dim lContador   As Long
    
    lsDesabilitar
    
    On Error Resume Next
    indice = Application.WorksheetFunction.Match(txtUsuario.Text, Sheets("Senha").Columns(1), 0)
    
    If Err > 0 Then
        'usuario nao encontrado
         MsgBox "Usuário ou senha incorretos!"
         Err.Clear
    Else
        'verifica se a senha está correta
        If Sheets("Senha").Cells(indice, 2) = txtSenha.Text Then
            'senha correta
            Dim arr As Variant
            arr = Split(Sheets("Senha").Cells(indice, 3), ",")
            
                ActiveWorkbook.Unprotect Password:="123"
        
                For i = 0 To UBound(arr)
                    
                    Sheets(arr(i)).Visible = True
                
                Next i
                
                Unload frmLogin
                
                ActiveWorkbook.Protect Password:="123", Structure:=True, Windows:=False
                
        Else
            'senha errada
            MsgBox "Usuário ou senha incorretos!"
        End If
        
    
    End If
    
    Exit Sub
    
End Sub

Login e senha na pasta de trabalho para abrir planilhas

Enviado: 21 Abr 2015 às 12:43
por Joscyel
Laender, era isso mesmo. Porém ainda vejo que nao consigo inserir novas planilhas e nem renomear as existentes. Tenho as planilhas Plan1, Plan2 e Plan3 nesse arquivo, queria saber se tem como renomear as mesmas e inserir umas planilhas novas nesse arquivo, de modo que eu consiga também colocar elas para abrirem no login como as ja existentes.

Login e senha na pasta de trabalho para abrir planilhas

Enviado: 21 Abr 2015 às 12:50
por laennder
Você não consegue porque a Pasta de Trabalho fica protegida com a senha 123. Você precisa desproteger a pasta de trabalho antes de renomear e inserir novas planilhas.

Para alterar a senha, certifique de alterar tb no código VBA, sempre que aparecer as seguintes linhas:
Código: Selecionar todos
ActiveWorkbook.Unprotect Password:="123"
Código: Selecionar todos
 ActiveWorkbook.Protect Password:="123", Structure:=True, Windows:=False

Login e senha na pasta de trabalho para abrir planilhas

Enviado: 21 Abr 2015 às 12:59
por Joscyel
Laender, muito obrigado. Fica meio trabalhoso, mas da pra mudar manualmente. Assim ficou como preciso. Obrigado mais uma vez. :)

Login e senha na pasta de trabalho para abrir planilhas

Enviado: 21 Abr 2015 às 13:02
por laennder
:D

Se o tópico ficou resolvido, peço por gentiliza em clicar no botão Marcar Resolvido da resposta que resolveu, e clicar nos botões Obrigado das respostas que ajudaram.

Isso serve para organizar os tópicos solucionados e ranquear as melhores mensagens e membros no fórum, destacando assim os mais participativos.

Abraço