Jak zachować możliwość rozwijania tabeli, wstawiając wiersz tabeli w chronionym arkuszu w programie Excel?
Funkcja automatycznego rozwijania tabeli zostanie utracona po zabezpieczeniu arkusza w programie Excel. Na przykład w chronionym arkuszu znajduje się tabela o nazwie Tabela1, kiedy wpiszesz cokolwiek pod ostatnim wierszem, tabela nie zostanie automatycznie rozszerzona, aby uwzględnić nowy wiersz. Czy istnieje metoda umożliwiająca rozwijanie tabeli przez wstawienie nowego wiersza w chronionym arkuszu? Metoda opisana w tym artykule może Ci w tym pomóc.
Zachowaj możliwość rozwijania tabeli, wstawiając wiersz tabeli w chronionym arkuszu z kodem VBA
Zachowaj możliwość rozwijania tabeli, wstawiając wiersz tabeli w chronionym arkuszu z kodem VBA
Jak pokazano na poniższym zrzucie ekranu, tabela o nazwie Tabela1 w arkuszu, a ostatnia kolumna tabeli to kolumna z formułą. Teraz musisz zabezpieczyć arkusz, aby zapobiec zmianie kolumny z formułą, ale pozwolić na rozszerzenie tabeli, wstawiając nowy wiersz i przypisując nowe dane do nowych komórek. Wykonaj następujące czynności.
1. kliknij Deweloper > wstawka > Przycisk (kontrolka formularza) aby wstawić Kontrola formularzy przycisk do arkusza.
2. W wyskakującym okienku Przypisz makro okno dialogowe, kliknij przycisk Nowości przycisk.
3. w Microsoft Visual Basic for Applications okno, skopiuj i wklej poniższy kod VBA między Podłoże i End Sub akapity w Code okno.
Kod VBA: Zachowaj możliwość rozwijania tabeli, wstawiając wiersz tabeli w chronionym arkuszu
'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
Uwagi:
4. wciśnij inny + Q klawisze, aby zamknąć okno Microsoft Visual Basic for Applications.
5. Wybierz komórki w tabeli, do których chcesz przypisać nowe dane z wyjątkiem kolumny z formułą, a następnie naciśnij Ctrl + 1 klawisze, aby otworzyć Formatowanie komórek Okno dialogowe. w Formatowanie komórek W oknie dialogowym usuń zaznaczenie opcji Zamknięty a następnie kliknij OK przycisk. Zobacz zrzut ekranu:
6. Teraz chroń swój arkusz za pomocą hasła podanego w kodzie VBA.
Odtąd po kliknięciu przycisku Form Control w chronionym arkuszu, tabela będzie rozwijana poprzez wstawienie nowego wiersza, jak pokazano na zrzucie ekranu.
Note: możesz modyfikować tabelę z wyjątkiem kolumny z formułą w chronionym arkuszu.
Powiązane artykuły:
- Jak utrzymać fragmentator tabeli przestawnej podczas przewijania arkusza w programie Excel?
- Jak połączyć komórki i zachować formatowanie komórek w programie Excel?
- Jak usunąć duplikaty, ale zachować pierwszą instancję w programie Excel?
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!