Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як зберегти таблицю розширюваною, вставляючи рядок таблиці в захищений аркуш у Excel?

Функція автоматичного розширення таблиці буде втрачена після захисту робочого аркуша в Excel. Наприклад, на вашому захищеному аркуші є таблиця з назвою Table1, коли ви вводите що-небудь під останнім рядком, таблиця автоматично не розширюватиметься, щоб включити новий рядок. Чи існує спосіб зберегти таблицю розширюваною, вставляючи новий рядок у захищений аркуш? Метод у цій статті може допомогти вам його досягти.

Зберігайте таблицю розширюваною, вставляючи рядок таблиці в захищений аркуш із кодом VBA


Зберігайте таблицю розширюваною, вставляючи рядок таблиці в захищений аркуш із кодом VBA


Як показано на знімку екрана, таблиця з іменем Table1 на вашому аркуші, а останній стовпець таблиці - це стовпець формули. Тепер вам потрібно захистити робочий аркуш, щоб запобігти зміні стовпця формули, але дозволити розгорнути таблицю, вставивши новий рядок і призначивши нові дані в нові клітинки. Будь ласка, виконайте наступне.

1. клацання Розробник > Insert > Кнопка (контроль форми) вставити a Контроль форми на робочому аркуші.

2. У спливаючому Призначити макрос у діалоговому вікні натисніть новий кнопки.

3 В Microsoft Visual Basic для додатків вікно, скопіюйте та вставте наведений нижче код VBA між нижче і End Sub абзаців у код вікна.

Код VBA: Зберігайте таблицю розширюваною, вставляючи рядок таблиці в захищений аркуш

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

примітки:

1). У коді число «123» - це пароль, який ви будете використовувати для захисту робочого аркуша.
2). Будь ласка, змініть назву таблиці та назву стовпця, що містить формулу, яку ви захищатимете.
3). І змініть зміщення в коді Selection.Offset (1, -4). Виберіть у перший цільовий стовпець таблиці. Наприклад, якщо в таблиці є шість стовпців, змініть значення Зсув на (1, -5).

4 Натисніть кнопку інший + Q клавіші, щоб закрити вікно Microsoft Visual Basic for Applications.

5. Виділіть клітинки таблиці, до яких потрібно призначити нові дані, крім стовпця формули, а потім натисніть Ctrl + 1 ключі, щоб відкрити Формат ячеек діалогове вікно. В Формат ячеек діалоговому вікні, зніміть прапорець біля Заблокований , а потім клацніть на OK кнопку. Дивіться знімок екрана:

6. Тепер захистіть свій аркуш паролем, який ви вказали в коді VBA.

Відтепер після натискання кнопки «Форма керування» на захищеному аркуші таблицю можна буде розширювати, вставляючи новий рядок, як показано нижче.

примітки: ви можете змінити таблицю, крім стовпця формули на захищеному аркуші.


Статті по темі:


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Say something here...
symbols left.
You are guest
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.
    Olu · 1 years ago
    Hello,

    the code worked initially, but after I duplicated the worksheet, it stayed for after 24 hours then all the code disappeared. And now I can’t access the worksheet.

    it keeps telling me incorrect password. And the code have disappeared. .
  • To post as a guest, your comment is unpublished.
    mrmathews71 · 2 years 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 · 2 years 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 · 2 years 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 · 2 years ago
      Hi Mac,
      Thanks for sharing.
  • To post as a guest, your comment is unpublished.
    Brandi · 3 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 · 3 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.
        alimughal · 3 years 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 · 3 years 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.