Existe uma maneira de restringir o cabeçalho e o rodapé de um formulário do Excel?

0

Eu preparei um formulário de excel para minha equipe de vendas preencher. Eu usei validações de dados, protegendo as células, etc. para garantir que o formulário fosse infalível. (Eu não poderia ter sucesso no final). Eu coloquei uma seção de "notas" para eles escreverem o que eles têm a dizer que eu não poderia prever. Alguns deles começaram a escrever suas anotações na seção de cabeçalho e rodapé, em vez de usar a caixa "anotações". Como posso restringi-los para editar o cabeçalho e o rodapé?

    
por gulyuks 26.10.2016 / 08:44

2 respostas

0

Aqui está uma opção que reverterá o cabeçalho e o rodapé para valores que você determinar quando um usuário clicar em "Salvar". Essencialmente, o código VBA diz ao Excel para definir o conteúdo do cabeçalho e do rodapé para determinados critérios antes que o documento seja salvo.

Primeiro você precisa abrir o editor do VBA. Com sua pasta de trabalho aberta, pressione Alt + F11.

Cliqueduasvezesem"ThisWorkbook" à esquerda para abrir uma nova janela. Em seguida, basta copiar / colar as informações abaixo.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
    With ws.PageSetup
        'Replace the information after the equals sign with what you want.
        .LeftHeader = ActiveSheet.Range("A100").Value
        '.CenterHeader is the middle of the header. Put any text you want in quotes ""
        .CenterHeader = "Header Text"
        .RightHeader = ws.Name
        .LeftFooter = ActiveWorkbook.Name
        'To leave a section blank, just use two quotes like in .CenterFooter
        .CenterFooter = ""
        .RightFooter = Date & "  " & Time
    End With
Next ws
'No need to change any of the comments beginning with a '. These will not affect your code
End Sub

Neste exemplo, .CenterHeader="Texto do cabeçalho" irá reverter a seção do cabeçalho central para o que você digitar entre "".

ws.Name coloca o nome da planilha no rodapé esquerdo. ActiveWorkbook.Name coloca o nome do arquivo no rodapé esquerdo Data e amp; "" & A hora preenche a data e a hora no rodapé direito. Isso será atualizado com a data e a hora em que o usuário salva o documento.

Você pode colocar uma frase informando ao usuário que qualquer coisa inserida no cabeçalho / rodapé será perdida ao salvar e por favor usar a seção de anotações.

Infelizmente, não consegui encontrar nada para "bloquear" que o cabeçalho / rodapé fosse editado em primeiro lugar.

    
por 02.11.2016 / 19:17
0

A proteção da pasta de trabalho impedirá alterações no cabeçalho e no rodapé. Você precisa formatar células para desproteger as células para permitir somente alterações nas células que os usuários podem alterar e proteger as células que você não deseja que os usuários alterem. Em seguida, proteja a pasta de trabalho e você pode, opcionalmente, proteger a pasta de trabalho com senha para impedir que os usuários a desprotegem.

    
por 02.11.2016 / 19:24