Ir ao conteúdo

Posts recomendados

Postado
Pessoal, boa tarde. Tudo bem?

 

Estou usando a macro abaixo que impede de salvar se alguns campos não estiverem preenchidos, mas preciso que ela não seja válida se a pessoa for uma administradora da planilha. (A planilha será usada com administradores e com outras pessoas que apenas deverão preencher outros campos). Se a pessoa digitar uma senha ao abrir o arquivo, essa macro se desabilita. Ou algo parecido, mas algo que permita que a pessoa consiga editar e salvar sem ter que preencher todos os campos. Alguém pode me ajudar?

Esses dois grupos de pessoas precisam ter como editar a planilha, deve haver diferenciação apenas na autorização de cada um para salvar.

 

 



Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    With Sheets("Pre-qualificação")
      If .[Q5] <> 11 Then
            MsgBox "Preencha os campos de 'Dados da empresa contratada'"
                Sheets("Pre-qualificação").Activate
        Cancel = True
        Range("E3").Select
        End If
                 If .[Q5] = 1 And .[Q16] <> 17 Then
            MsgBox "Preencha os campos de 'Referência da empresa'"
                Sheets("Pre-qualificação").Activate
        Cancel = True
        Range("F16").Select
        End If
        If .[Q5] = 0 And .[R16] <> 14 Then
            MsgBox "Preencha os campos de 'Referência da empresa'"
                Sheets("Pre-qualificação").Activate
        Cancel = True
        Range("F16").Select
        End If
           If .[S30] <> 6 Then
            MsgBox "Preencha o Item '1. Geral'"
                Sheets("Pre-qualificação").Activate
        Cancel = True
        Range("N28").Select
        End If
                 If .[Q12] = 0 Or .[N35] = "" Or .[N36] = "" Or .[N37] = "" Then
            MsgBox "Preencha o Item '2. Política e Gerenciamento de segurança saúde e meio ambiente'"
                Sheets("Pre-qualificação").Activate
        Cancel = True
        Range("N35").Select
        End If
        If .[Q12] = 0 And .[N39] = "" Then
            MsgBox "Preencha o Item '3. Práticas e procedimentos seguros para o trabalho*'"
                Sheets("Pre-qualificação").Activate
        Cancel = True
        Range("N39").Select
        End If
        If .[Q12] = 0 And .[N41] = "" Then
            MsgBox "Preencha o Item '4.  Treinamento de segurança saúde e meio ambiente'"
                Sheets("Pre-qualificação").Activate
        Cancel = True
        Range("N41").Select
        End If
        If .[Q5] = 0 And .[S46] <> 6 Then
            MsgBox "Preencha o Item '5. Atendimento a requisitos legais'"
                Sheets("Pre-qualificação").Activate
        Cancel = True
        Range("N43").Select
        End If
         If .[Q5] = 1 And .[T46] <> 4 Then
            MsgBox "Preencha o Item '5. Atendimento a requisitos legais'"
                Sheets("Pre-qualificação").Activate
        Cancel = True
        Range("N43").Select
        End If
    End With
    End Sub

  • Solução
Postado

Olá, Jean.

Veja se esta opção pode ajudar.

Acrescente as linhas em vermelho ao seu código.

 

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
 If Environ("username") = "João" Or Environ("username") = "José" Then GoTo Pixuleco
 ...

...

...

End With

Exit Sub
Pixuleco:

End Sub
 

funcionamento - ao clicar para salvar, se o nome logado for "João" ou "José" o código salva direto, se não, faz a verificação dos preenchimentos obrigatórios. Para evitar alterações não autorizadas no código é aconselhável proteger o Projeto VBA (recomendado somente se o arquivo for utilizado na Islândia, na Suécia,... :P  Se for no Brasil, não há esse risco... ;) )

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!