Eventos de WorkBook - Não salve com painéis congelados - Exemplos de código VBA

Congelar painéis usando VBA

Eu postei recentemente sobre painéis congelados no Excel, aqui está como você pode fazer isso usando o VBA:

Congelar linhas

 Linhas ("1: 1"). Selecione ActiveWindow.FreezePanes = True 

Congelar Colunas

 Intervalo ("A: A"). Selecione ActiveWindow.FreezePanes = True

Congelar linhas e colunas

 Intervalo ("B2"). Selecione ActiveWindow.FreezePanes = True

Descongelar painéis

 ActiveWindow.FreezePanes = False 

Forçar a pasta de trabalho a salvar sem congelar os painéis

O Excel nos permite controlar as coisas por meio de eventos. Este artigo não é uma discussão detalhada sobre o que são eventos ou seus recursos. Em vez disso, ele dá um exemplo de um evento WorkBook. Esses são eventos realizados no nível da pasta de trabalho, e não em uma planilha específica.

Por meio do VBA, podemos controlar o que acontece em certos eventos, como antes de imprimir ou antes de salvar. Um problema comum que enfrento é que várias pessoas com quem trabalho não gostam de arquivos com painéis congelados.

Portanto, neste artigo, reuniremos algum código que verificará se o Freeze Panes está ativado e, se estiver, não salvará o arquivo. Isso significa que eu tenho que salvá-lo sem congelar os painéis - mantendo meus colegas felizes !!

O mais importante sobre os eventos da pasta de trabalho é que eles devem ser salvos no local correto - no nível da pasta de trabalho.

Para acessar o nível da pasta de trabalho, siga as etapas abaixo:

1. Clique com o botão direito em uma pasta de trabalho do Excel - veja o código:

2. Isso trará:

3. Clique duas vezes em “Esta pasta de trabalho” e selecione “Pasta de trabalho” no primeiro menu suspenso do lado esquerdo:

Vemos que o valor no lado esquerdo agora mudou para “Open” - com algum código para o Workbook Open Event. Esse código nos permitirá determinar o que acontece quando a pasta de trabalho é aberta pela primeira vez.

No entanto, queremos controlar o que acontece quando salvamos a pasta de trabalho. Portanto, altere o menu suspenso à direita para “Antes de Salvar”. A tela agora ficará assim:

Agora inserimos o seguinte código após a declaração:

If ActiveWindow.FreezePanes = True Then MsgBox "Congelar painéis está ligado - Arquivo NÃO ESTÁ SALVO" Cancel = True End If

Para que o código completo agora se pareça com:

Private Sub Workbook_BeforeSave (ByVal SaveAsUI As Boolean, Cancel As Boolean) If ActiveWindow.FreezePanes = True Then MsgBox "Freeze Panes is on - File is NOT SAVED" Cancel = True End If End Sub

Agora salve o arquivo e ENTÃO ative os painéis de congelamento em qualquer janela. Então - RESAVE o arquivo. Uma caixa de mensagem aparecerá informando que “Congelar painéis” está ativado - e o arquivo não foi salvo.

Na verdade, o arquivo não será salvo até que o Freeze Panes seja removido.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave