Ir para o conteúdo principal
Note: The other languages of the website are Google-translated. Back to English

Como bloquear ou congelar a guia da planilha no Excel?

Supondo que você tenha uma pasta de trabalho que contém várias planilhas, existe uma planilha chamada Folha principal como a primeira guia da pasta de trabalho. E agora, você deseja tentar bloquear ou congelar esta guia da planilha para torná-la sempre visível, mesmo ao rolar por várias planilhas. Na verdade, não há uma maneira direta de congelar a guia, mas você pode usar uma solução alternativa para lidar com esse problema.

Bloquear ou congelar uma guia de planilha específica com código VBA


seta azul bolha direita Bloquear ou congelar uma guia de planilha específica com código VBA

No Excel, podemos aplicar o seguinte código VBA para fazer a planilha específica sempre antes da guia da planilha clicada atual, de modo que você sempre possa ver essa planilha ao rolar pelas outras guias da planilha. Faça o seguinte:

1. Segure o ALT + F11 chaves, e abre o Janela Microsoft Visual Basic for Applications.

2. Então escolha Esta pasta de trabalho da esquerda Explorador de Projetos painel, clique duas vezes para abrir o Móduloe, em seguida, copie e cole o seguinte código VBA no módulo em branco:

Código VBA: Congele ou bloqueie uma guia específica da planilha

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'Update by Extendoffice
Application.EnableEvents = False
Application.ScreenUpdating = False
If Application.ActiveSheet.Index <> Application.Sheets("Main-sheet").Index Then
    Application.Sheets("Main-sheet").Move Before:=Application.Sheets(Application.ActiveSheet.Index)
    Application.Sheets("Main-sheet").Activate
    Sh.Activate
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

doc-freeze-sheet-tab-1

3. Em seguida, salve e feche este código, agora, ao clicar em qualquer guia da planilha, essa planilha específica estará sempre na frente da guia da planilha clicada, veja as capturas de tela:

doc-freeze-sheet-tab-2
-1
doc-freeze-sheet-tab-3

Anote os: No código acima, a folha principal é o nome da folha que você deseja congelar, você pode alterá-lo conforme sua necessidade.


Artigos relacionados:

Como congelar painéis no Excel 2010?

Como aplicar congelar / descongelar painéis a várias planilhas de uma vez?


As melhores ferramentas de produtividade para escritório

Kutools for Excel Resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Office Tab Traz a interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Comentários (10)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Quando uso o VBA, não consigo copiar dados da planilha principal para outra planilha Por favor, ajude-me a corrigir este bug
Este comentário foi feito pelo moderador no site
hahaha. Tão verdade! você encontrou uma correção para isso?
Este comentário foi feito pelo moderador no site
Não foi possível fazer seu código funcionar, mas este funcionou :) Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim sc As Long ' contagem de planilhas Dim NewPos As Long ' índice da planilha selecionada Application.EnableEvents = False Application.ScreenUpdating = False Se ActiveSheet.Index 1 Então sc = Sheets.Count NewPos = ActiveSheet.Index Para i = 2 Para NewPos - 1 Sheets(2).Move After:=Sheets(sc) Próximo i Sheets(1).Activate Sheets(2). Ativar End If Application.ScreenUpdating = True Application.EnableEvents = True End Sub
Este comentário foi feito pelo moderador no site
É possível criar um com vários argumentos? Como em vez de apenas mover uma folha principal para a frente de onde você está trabalhando, é possível mover três guias na frente do que você está trabalhando?
Este comentário foi feito pelo moderador no site
Sim, é possível, basta adicionar mais argumentos à cláusula if usando o "AND" como este IF Application.ActiveSheet.Index Application.Sheets("Main-sheet").Index AND Application.ActiveSheet.Index Application. Sheets("Other-Main-sheet").Index e assim por diante... Then Application.Sheets("Main-sheet").Move Before:=Application.Sheets(Application.Sheets("Other-Main-sheet") .Index) Application.Sheets("Main-sheet").Activate Application.Sheets("Other-Main-sheet").Move Before:=Application.Sheets(Application.ActiveSheet.Index) Application.Sheets("Other-Main -sheet").Activate Sh.Activate Isto colocará a Main-Sheet, depois a Other-Main-Sheet na frente da sua planilha ativa.
Este comentário foi feito pelo moderador no site
este vba é minha planilha do excel não congela por favor me dê uma solução
Este comentário foi feito pelo moderador no site
Este código funcionou bem. O único problema é... se fecharmos o arquivo e abri-lo novamente, ele apaga.
Este comentário foi feito pelo moderador no site
[quote]Este código funcionou bem. O único problema é... se fecharmos o arquivo e abri-lo novamente, ele apaga.Por Sangs[/quote] Tente salvar o documento como pasta de trabalho habilitada para macro. Acho que deve funcionar bem assim.
Este comentário foi feito pelo moderador no site
Como Thuyen apontou 2 anos atrás, você não pode copiar dados entre planilhas enquanto este código estiver ativo. Além disso, o código é desnecessariamente complicado. A planilha que você ativa é passada para o procedimento como o parâmetro "Sh". Isso torna as chamadas frequentes para "ActiveSheet" desnecessárias e pode causar problemas para alguém que está tentando modificar o código, mas não é muito experiente.

Aqui estão minhas versões que corrigem esses problemas e até mostram como adicionar uma 2ª planilha "Principal" (semelhante ao que Dzingai postou):
-------------------------------------------------- ---------------

'Essas 2 linhas não são necessárias se você usar os codinomes das folhas, o que eu recomendo.
Set shtMain1 = Worksheets("Main-Sheet-1")
Set shtMain2 = Worksheets("Main-Sheet-2")

Se Application.CutCopyMode = False Então
If Sh.Index <> shtMain1.Index E Sh.Index <> shtMain2.Index Then
shtMain1.Move antes:=Sh
shtMain2.Move antes:=Sh
Sh.Ativar
Se acabar
Se acabar
Este comentário foi feito pelo moderador no site
chăng đc gi cả
Não há comentários postados aqui ainda