Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment conserver la table extensible en insérant la ligne de table dans une feuille de calcul protégée dans Excel?

La fonction d'expansion automatique de la table sera perdue après la protection de la feuille de calcul dans Excel. Par exemple, il existe une table nommée Table1 dans votre feuille de calcul protégée, lorsque vous tapez quelque chose sous la dernière ligne, la table ne se développera pas automatiquement pour inclure la nouvelle ligne. Existe-t-il une méthode pour maintenir la table extensible en insérant une nouvelle ligne dans une feuille de calcul protégée? La méthode de cet article peut vous aider à y parvenir.

Maintenez la table extensible en insérant la ligne de table dans une feuille de calcul protégée avec le code VBA


flèche bleue droite bulle Maintenez la table extensible en insérant la ligne de table dans une feuille de calcul protégée avec le code VBA


Comme illustré ci-dessous, une table nommée Table1 dans votre feuille de calcul et la dernière colonne de la table est une colonne de formule. Vous devez maintenant protéger la feuille de calcul pour empêcher la modification de la colonne de formule, mais permettre d'étendre la table en insérant une nouvelle ligne et en affectant de nouvelles données aux nouvelles cellules. S'il vous plaît faire comme suit.

1. Cliquez Développeur > insérer > Bouton (contrôle de formulaire) insérer un Contrôle de formulaire bouton dans votre feuille de calcul.

2. Dans le popping up Assigner une macro boîte de dialogue, cliquez sur le Nouveau .

3. dans le Microsoft Visual Basic pour applications fenêtre, s'il vous plaît copier et coller le code VBA ci-dessous entre le Sous et End Sub paragraphes dans le Code fenêtre.

Code VBA: Conserver la table extensible en insérant la ligne du tableau dans une feuille de calcul protégée

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

Remarques:

1). Dans le code, le numéro "123" est le mot de passe que vous utiliserez pour protéger la feuille de calcul.

2). Veuillez modifier le nom de la table et le nom de la colonne contenant la formule que vous allez protéger.

3). Et modifiez le décalage dans le code Selection.Offset (1, -4) .Sélectionnez la première colonne cible de la table. Par exemple, s'il y a six colonnes dans la table, remplacez le décalage par (1, -5).

4. appuie sur le autre + Q clés pour fermer la fenêtre Microsoft Visual Basic pour Applications.

5. Sélectionnez les cellules dans la table dont vous avez besoin pour affecter de nouvelles données à l'exception de la colonne de formule, puis appuyez sur la Ctrl + 1 clés pour ouvrir le Format de cellule boite de dialogue. dans le Format de cellule boîte de dialogue, décochez la case Fermé boîte, puis cliquez sur le OK bouton. Voir la capture d'écran:

6. Protégez maintenant votre feuille de calcul avec le mot de passe que vous avez spécifié dans le code VBA.

À partir de maintenant, après avoir cliqué sur le bouton Form Control dans votre feuille de calcul protégée, la table sera extensible en insérant une nouvelle ligne comme ci-dessous.

Note: vous pouvez modifier la table sauf la colonne de formule dans la feuille de calcul protégée.


flèche bleue droite bulleArticles connexes:



Outils de productivité recommandés

Office Tab

étoile d'or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d'or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d'or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d'écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
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.
    Mac · 1 months 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.
    Brandi · 6 months 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 · 5 months 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.
        Ali · 3 months 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 months 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.