How to keep table expandable by inserting table row in a protected worksheet in Excel?
The auto expanding function of table will be lost after protecting the worksheet in Excel. For example, there is a table named Table1 in your protected worksheet, when you type anything under the last row, the table will not automatically expand to include the new row. Is there method to keep table expandable by inserting new row in a protected worksheet? The method in this article can help you to achieve it.
Keep table expandable by inserting table row in a protected worksheet with VBA code
Keep table expandable by inserting table row in a protected worksheet with VBA code
As below screenshot shown, a table named Table1 in your worksheet, and the last column of the table is a formula column. Now you need to protect the worksheet to prevent the formula column from changing, but allow to expand the table by inserting new row and assign new data into the new cells. Please do as follows.
1. Click Developer > Insert > Button (Form Control) to insert a Form Control button into your worksheet.
2. In the popping up Assign Macro dialog box, click the New button.
3. In the Microsoft Visual Basic for Applications window, please copy and paste the below VBA code between the Sub and End Sub paragraphs in the Code window.
VBA code: Keep table expandable by inserting table row in a protected worksheet
'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
Notes:
4. Press the Alt + Q keys to close the Microsoft Visual Basic for Applications window.
5. Select the cells in the table you need to assign new data into except the formula column, then press the Ctrl + 1 keys to open the Format Cells dialog box. In the Format Cells dialog box, uncheck the Locked box, and then click the OK button. See screenshot:
6. Now protect your worksheet with password you have specified in the VBA code.
From now on, after clicking the Form Control button in your protected worksheet, the table will be expandable by inserting new row as below screenshot shown.
Note: you can modify the table except the formula column in the protected worksheet.
Related articles:
- How to keep slicer of Pivot Table moving with worksheet scrolling in Excel?
- How to combine cells and keep the cell formatting in Excel?
- How to remove duplicates but keep first instance in Excel?
Best Office Productivity Tools
Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time. Click Here to Get The Feature You Need The Most...
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!