Dica: outros idiomas são traduzidos pelo Google. Você pode visitar o English versão deste link.
Entrar
x
or
x
x
REGISTRAR
x

or

Como manter a tabela expansível inserindo a linha da tabela em uma planilha protegida no Excel?

A função de expansão automática da tabela será perdida depois de proteger a planilha no Excel. Por exemplo, há uma tabela chamada Table1 em sua planilha protegida, quando você digita qualquer coisa na última linha, a tabela não se expandirá automaticamente para incluir a nova linha. Existe um método para manter a tabela expansível inserindo uma nova linha em uma planilha protegida? O método neste artigo pode ajudá-lo a alcançá-lo.

Mantenha a tabela expansível inserindo a linha da tabela em uma planilha protegida com código VBA

Guia do Office Habilitar Edição e Navegação por Guias no Office e Facilitar seu Trabalho ...
Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%
  • Reutilizar qualquer coisa: Adicione as fórmulas, gráficos e outras coisas mais usadas ou complexas aos seus favoritos e reutilize-os rapidamente no futuro.
  • Mais do que recursos de texto 20: Extrair número da string de texto; Extrair ou remover parte de textos; Converta números e moedas em palavras em inglês.
  • Mesclar Ferramentas: Várias pastas de trabalho e folhas em um; Mesclar várias células / linhas / colunas sem perder dados; Mesclar linhas duplicadas e soma.
  • Ferramentas de divisão: Dividir dados em várias folhas com base no valor; Uma pasta de trabalho para vários arquivos Excel, PDF ou CSV; Uma coluna para várias colunas.
  • Colar pulando Linhas ocultas / filtradas; Contagem e Soma pela cor de fundo; Envie emails personalizados para vários destinatários em massa.
  • Super Filtro: Crie esquemas de filtro avançados e aplique a qualquer folha; tipo por semana, dia, frequência e mais; filtros por negrito, fórmulas, comentário ...
  • Mais de recursos poderosos do 300; Funciona com o Office 2007-2019 e 365; Suporta todos os idiomas; Fácil implantação em sua empresa ou organização.

arrow blue right bubble Mantenha a tabela expansível inserindo a linha da tabela em uma planilha protegida com código VBA


Como abaixo a captura de tela mostrada, uma tabela chamada Table1 em sua planilha e a última coluna da tabela é uma coluna de fórmula. Agora você precisa proteger a planilha para evitar que a coluna da fórmula seja alterada, mas permitir expandir a tabela inserindo uma nova linha e atribuir novos dados às novas células. Faça o seguinte.

1. Clique Developer > inserção > Botão (Controle de formulário) para inserir um Controle de formulário botão na sua planilha.

2. Na aparência Atribuir macro caixa de diálogo, clique no botão Novo botão.

3. No Microsoft Visual Basic para Aplicações janela, copie e cole o código VBA abaixo entre Sub e End Sub parágrafos no Código janela.

Código VBA: mantenha a tabela expansível inserindo a linha da tabela em uma planilha protegida

Dim pswStr As String
'Update by ExtendOffice 20181106
    pswStr = "123"
    On Error Resume Next
   Application.ScreenUpdating = False
    ActiveSheet.Unprotect Password:=pswStr
       ActiveSheet.Range("A1").Select
        Range("Table1[[#Headers],[Total]]").Select
        Selection.End(xlDown).Select
        Selection.Offset(1, 0).Select
        ActiveCell.FormulaR1C1 = "new"
        ActiveSheet.Protect Password:=pswStr, DrawingObjects:=False, _
                        Contents:=True, Scenarios:=False, _
                        AllowFormattingCells:=True, AllowFormattingColumns:=True, _
                        AllowFormattingRows:=True, AllowInsertingColumns:=True, _
                        AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, _
                        AllowDeletingColumns:=True, AllowDeletingRows:=True, _
                        AllowSorting:=True, AllowFiltering:=True, _
                        AllowUsingPivotTables:=True
    Selection.ClearContents
    Application.ScreenUpdating = True

Notas:

1). No código, o número "123" é a senha que você usará para proteger a planilha.

2). Altere o nome da tabela e o nome da coluna que contém fórmula que você protegerá.

3). E altere o deslocamento no código Selection.Offset (1, -4). Selecione a primeira coluna de destino da tabela. Por exemplo, se houver seis colunas na tabela, altere o deslocamento para (1, -5).

4. aperte o outro + Q chaves para fechar a janela Microsoft Visual Basic for Applications.

5. Selecione as células na tabela que você precisa para atribuir novos dados, exceto a coluna da fórmula, e pressione a tecla Ctrl + 1 chaves para abrir o formatar células caixa de diálogo. No formatar células caixa de diálogo, desmarque o Trancado caixa e, em seguida, clique no botão OK botão. Ver captura de tela:

6. Agora, proteja sua planilha com a senha que você especificou no código VBA.

A partir de agora, depois de clicar no botão Controle de Formulário em sua planilha protegida, a tabela será expansível ao inserir a nova linha como mostrado abaixo.

notas: você pode modificar a tabela exceto a coluna da fórmula na planilha protegida.


arrow blue right bubbleArtigos relacionados:


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

  • armadilha para peixes: Inserir rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de endereços e enviar e-mails ...
  • Bar Super Fórmula (facilmente editar várias linhas de texto e fórmula); Layout de leitura (leia e edite facilmente grandes números de células); Colar para intervalo filtrado...
  • Mesclar células / linhas / colunas sem perder dados; Conteúdo de células divididas; Combinar linhas / colunas duplicadas... Prevenir Células Duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Exclusivo Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros de trabalho; Seleção aleatória ...
  • Cópia exata Múltiplas Células sem alterar a referência da fórmula; Criar automaticamente 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 (salve e aplique 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 ...
  • Combinar pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Dividir dados em várias planilhas; Lote Converter xls, xlsx e PDF...
  • Mais de recursos poderosos do 300. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos Avaliação gratuita de um dia de 30.
kte tab 201905

A guia Office traz a interface com guias para o Office e torna seu trabalho muito mais fácil

  • Ativar edição e leitura com guias no 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!
fundo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Michelle · 4 months ago
    Hello, I used the above code and got the following error message:
    "Code execution has been interrupted". When I click on Debug, Line 20 "Selection.ClearContents" is highlighted.

    When I initially entered the code, it worked correctly.

    I changed "Table" to the name of the table and change the column to the name of the column I am using. I also changed the "Selection.Offset (x,-x).Select" to match my needs.


    Any suggestions as to why this is occurring?
  • To post as a guest, your comment is unpublished.
    Mac · 9 months ago
    Try this Vba code for add new line in you table

    Sub Tab_Line_Add()
    Dim pswStr As String
    pswStr = "123"
    On Error Resume Next
    Application.ScreenUpdating = False
    ActiveSheet.Unprotect Password:=pswStr
    ActiveSheet.Range("D8").Select
    'D8 is tabel header
    Range("Table1[[#Headers],[Total]]").Select
    Selection.End(xlDown).Select
    Selection.ListObject.ListRows.Add AlwaysInsert:=False
    ActiveSheet.Protect Password:=pswStr

    End Sub
    .
    • To post as a guest, your comment is unpublished.
      sohael al-husainy · 4 months ago
      using the suggested (Selection.ListObject.ListRows.Add AlwaysInsert:=False) fixed a similar problem for me with the original code, where a new full row (extending down cell contained formulas) would not be added to the table on a much wider table 51 columns. So thanks for sharing and fixing Mac.
    • To post as a guest, your comment is unpublished.
      crystal · 9 months ago
      Hi Mac,
      Thanks for sharing.
  • To post as a guest, your comment is unpublished.
    Brandi · 1 years ago
    So I tried this however it adds a new row at the bottom of the workbook on line 1048576 however my table only has about 800 records. I have no idea why it's doing this!
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi Brindi,
      The code has been updated with the problem solved, please have a try and thank you for your comment.
      • To post as a guest, your comment is unpublished.
        Ali · 11 months ago
        Hi Crystal, theproblem is same. I created a new table for myself with only 2 rows. Once I click the button the list is expanded till end of table without adding any Rows. It should be adding to Row number 3.
      • To post as a guest, your comment is unpublished.
        Ali · 11 months ago
        Hi Crystal, theproblem is same. I created a new table for myself with only 2 rows. Once I click the button the list is expanded till end of table without adding any Rows. It should be adding to Row number 3.