Salt la conținutul principal
 

Cum să păstrați tabelul extensibil inserând rândul tabelului într-o foaie de lucru protejată în Excel?

Autor: Siluvia Ultima modificare: 2022-08-26

Funcția de expansiune automată a tabelului se va pierde după protejarea foii de lucru în Excel. De exemplu, există un tabel numit Table1 în foaia de lucru protejată, atunci când introduceți ceva sub ultimul rând, tabelul nu se va extinde automat pentru a include noul rând. Există o metodă pentru a menține tabelul extensibil inserând un rând nou într-o foaie de lucru protejată? Metoda din acest articol vă poate ajuta să o realizați.

Păstrați tabelul extensibil inserând rândul tabelului într-o foaie de lucru protejată cu cod VBA


Păstrați tabelul extensibil inserând rândul tabelului într-o foaie de lucru protejată cu cod VBA

Așa cum se arată în imaginea de mai jos, un tabel numit Table1 în foaia de lucru și ultima coloană a tabelului este o coloană de formulă. Acum trebuie să protejați foaia de lucru pentru a preveni modificarea coloanei de formule, dar permiteți extinderea tabelului prin inserarea unui rând nou și atribuirea de date noi în noile celule. Vă rugăm să faceți următoarele.

1. clic Dezvoltator > Insera > Buton (Control formular) a insera un Controlul formularului butonul din foaia de lucru.

2. În fereastra pop-up Atribuiți macro , faceți clic pe Nou butonul.

3. În Microsoft Visual Basic pentru aplicații fereastra, copiați și lipiți codul VBA de mai jos între Sub și End Sub paragrafele din Cod fereastră.

Cod VBA: menține tabelul extensibil inserând rândul tabelului într-o foaie de lucru protejată

 'Update by ExtendOffice 20220826
    Dim xRg, tableRg As Range
    Dim xRowCount As Integer
    Dim pswStr As String
    pswStr = "123"
    On Error Resume Next
    Application.ScreenUpdating = False
    ActiveSheet.Unprotect Password:=pswStr

    Set tableRg = ActiveSheet.ListObjects("Table4").Range
    xRowCount = tableRg.Rows.Count
    
    Set xRg = Range("Table4[[#Headers],[Total]]").Offset(1, 0)
    Set yRg = xRg.Resize(xRowCount, 1)
    xRg.Resize(xRowCount - 1, 1).AutoFill Destination:=yRg, Type:=xlFillDefault

    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
    Application.ScreenUpdating = True

notițe:

1). În cod, numărul „123” este parola pe care o veți utiliza pentru a proteja foaia de lucru.
2). Vă rugăm să schimbați numele tabelului și numele coloanei care conține formula pe care o veți proteja.

4. apasă pe Alt + Q tastele pentru a închide fereastra Microsoft Visual Basic pentru aplicații.

5. Selectați celulele din tabelul în care trebuie să atribuiți date noi, cu excepția coloanei de formulă, apoi apăsați pe Ctrl + 1 tastele pentru a deschide Celule de format căsuță de dialog. În Celule de format caseta de dialog, debifați blocat , apoi faceți clic pe OK buton. Vedeți captura de ecran:

6. Acum protejați-vă foaia de lucru cu parola pe care ați specificat-o în codul VBA.

De acum înainte, după ce ați făcut clic pe butonul Control formular din foaia de lucru protejată, tabelul va putea fi extins prin inserarea unui rând nou, după cum se arată în imaginea de mai jos.

notițe: puteți modifica tabelul, cu excepția coloanei formulă din foaia de lucru protejată.


Articole pe aceeași temă:

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!