Hur håller jag tabellen expanderbar genom att infoga tabellrad i ett skyddat kalkylblad i Excel?
Den automatiskt expanderande funktionen i tabellen går förlorad efter att kalkylbladet har skyddats i Excel. Det finns till exempel en tabell med namnet Tabell 1 i ditt skyddade kalkylblad. När du skriver något under den sista raden expanderas inte tabellen automatiskt för att inkludera den nya raden. Finns det en metod för att hålla tabellen expanderbar genom att infoga en ny rad i ett skyddat kalkylblad? Metoden i den här artikeln kan hjälpa dig att uppnå det.
Håll tabellen expanderbar genom att infoga tabellrad i ett skyddat kalkylblad med VBA-kod
Håll tabellen expanderbar genom att infoga tabellrad i ett skyddat kalkylblad med VBA-kod
Som nedan visas skärmdump, en tabell med namnet Table1 i ditt kalkylblad och den sista kolumnen i tabellen är en formelkolumn. Nu måste du skydda kalkylbladet för att förhindra att formelkolumnen ändras, men tillåta att utvidga tabellen genom att infoga ny rad och tilldela nya data i de nya cellerna. Gör så här.
1. klick Utvecklare > Insert > Knapp (Form Control) att infoga en Formkontroll -knappen i ditt kalkylblad.
2. I pop-up Tilldela makro dialogrutan, klicka på Nya knapp.
3. I Microsoft Visual Basic för applikationer kopiera och klistra in nedanstående VBA-kod mellan Sub och End Sub stycken i Koda fönster.
VBA-kod: Håll tabellen expanderbar genom att infoga tabellraden i ett skyddat kalkylblad
'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
Anmärkningar:
4. tryck på andra + Q för att stänga Microsoft Visual Basic for Applications-fönstret.
5. Markera cellerna i tabellen som du behöver tilldela nya data förutom formelkolumnen och tryck sedan på ctrl + 1 nycklar för att öppna Formatera celler dialog ruta. I Formatera celler avmarkera kryssrutan Låst och klicka sedan på OK knapp. Se skärmdump:
6. Skydda nu ditt kalkylblad med det lösenord som du har angett i VBA-koden.
Från och med nu, efter att du har klickat på knappen Form Control i ditt skyddade kalkylblad, kommer tabellen att kunna utökas genom att infoga en ny rad som visas nedan.
Anmärkningar: du kan ändra tabellen utom formelkolumnen i det skyddade kalkylbladet.
Relaterade artiklar:
- Hur håller jag skäraren av pivottabellen i rörelse med rullning av kalkylblad i Excel?
- Hur kombinerar man celler och behåller cellformateringen i Excel?
- Hur tar jag bort dubbletter men behåller första instansen i Excel?
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!