Note: The other languages of the website are Google-translated. Back to English

Sut i gadw'r bwrdd yn un y gellir ei ehangu trwy fewnosod rhes bwrdd mewn taflen waith warchodedig yn Excel?

Bydd swyddogaeth ehangu bwrdd yn awtomatig yn cael ei golli ar ôl amddiffyn y daflen waith yn Excel. Er enghraifft, mae tabl o'r enw Tabl 1 yn eich taflen waith warchodedig, pan fyddwch chi'n teipio unrhyw beth o dan y rhes olaf, ni fydd y tabl yn ehangu'n awtomatig i gynnwys y rhes newydd. A oes dull i gadw'r bwrdd yn un y gellir ei ehangu trwy fewnosod rhes newydd mewn taflen waith warchodedig? Gall y dull yn yr erthygl hon eich helpu i'w gyflawni.

Cadwch y bwrdd yn un y gellir ei ehangu trwy fewnosod rhes bwrdd mewn taflen waith warchodedig gyda chod VBA


Cadwch y bwrdd yn un y gellir ei ehangu trwy fewnosod rhes bwrdd mewn taflen waith warchodedig gyda chod VBA


Fel y dangosir isod y llun, tabl o'r enw Tabl 1 yn eich taflen waith, a cholofn olaf y tabl yw colofn fformiwla. Nawr mae angen i chi amddiffyn y daflen waith i atal y golofn fformiwla rhag newid, ond caniatáu ehangu'r tabl trwy fewnosod rhes newydd a neilltuo data newydd yn y celloedd newydd. Gwnewch fel a ganlyn.

1. Cliciwch Datblygwr > Mewnosod > Botwm (Rheoli Ffurflen) i fewnosod a Rheoli Ffurflenni botwm i mewn i'ch taflen waith.

2. Yn y popping up Neilltuo Macro blwch deialog, cliciwch y Newydd botwm.

3. Yn y Microsoft Visual Basic ar gyfer Ceisiadau ffenestr, copïwch a gludwch y cod VBA isod rhwng y is ac Is-End paragraffau yn y Côd ffenestr.

Cod VBA: Cadwch y bwrdd yn un y gellir ei ehangu trwy fewnosod rhes bwrdd mewn taflen waith warchodedig

 '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

Nodiadau:

1). Yn y cod, rhif “123” yw'r cyfrinair y byddwch chi'n ei ddefnyddio i amddiffyn y daflen waith.
2). Newidiwch enw'r tabl ac enw'r golofn sy'n cynnwys fformiwla y byddwch chi'n ei gwarchod.

4. Gwasgwch y Alt + Q allweddi i gau ffenestr Microsoft Visual Basic for Applications.

5. Dewiswch y celloedd yn y tabl y mae angen i chi neilltuo data newydd iddynt ac eithrio'r golofn fformiwla, yna pwyswch y Ctrl + 1 allweddi i agor y Celloedd Fformat blwch deialog. Yn y Celloedd Fformat blwch deialog, dad-diciwch y Dan glo blwch, ac yna cliciwch ar y OK botwm. Gweler y screenshot:

6. Nawr amddiffynwch eich taflen waith gyda chyfrinair rydych chi wedi'i nodi yn y cod VBA.

O hyn ymlaen, ar ôl clicio ar y botwm Rheoli Ffurflen yn eich taflen waith warchodedig, gellir ehangu'r tabl trwy fewnosod rhes newydd fel y dangosir isod y screenshot.

Nodyn: gallwch addasu'r tabl ac eithrio'r golofn fformiwla yn y daflen waith warchodedig.


Erthyglau perthnasol:


Yr Offer Cynhyrchedd Swyddfa Gorau

Mae Kutools for Excel yn Datrys y rhan fwyaf o'ch Problemau, ac yn Cynyddu Eich Cynhyrchedd 80%

  • Ailddefnyddio: Mewnosod yn gyflym fformwlâu cymhleth, siartiau ac unrhyw beth rydych chi wedi'i ddefnyddio o'r blaen; Amgryptio Celloedd gyda chyfrinair; Creu Rhestr Bostio ac anfon e-byst ...
  • Bar Fformiwla Gwych (golygu llinellau lluosog o destun a fformiwla yn hawdd); Cynllun Darllen (darllen a golygu nifer fawr o gelloedd yn hawdd); Gludo i'r Ystod Hidlo...
  • Uno Celloedd / Rhesi / Colofnau heb golli Data; Cynnwys Celloedd Hollt; Cyfuno Rhesi / Colofnau Dyblyg... Atal Celloedd Dyblyg; Cymharwch y Meysydd...
  • Dewiswch Dyblyg neu Unigryw Rhesi; Dewiswch Blank Rows (mae pob cell yn wag); Darganfyddiad Gwych a Darganfyddiad Niwlog mewn Llawer o Lyfrau Gwaith; Dewis ar Hap ...
  • Copi Union Celloedd Lluosog heb newid cyfeirnod fformiwla; Auto Creu Cyfeiriadau i Daflenni Lluosog; Mewnosod Bwledi, Blychau Gwirio a mwy ...
  • Testun Detholiad, Ychwanegu Testun, Tynnu yn ôl Swydd, Tynnwch y Gofod; Creu ac Argraffu Subtotals Paging; Trosi rhwng Cynnwys a Sylwadau Celloedd...
  • Hidlo Super (arbed a chymhwyso cynlluniau hidlo i ddalenni eraill); Trefnu Uwch yn ôl mis / wythnos / dydd, amlder a mwy; Hidlo Arbennig gan feiddgar, italig ...
  • Cyfuno Llyfrau Gwaith a Thaflenni Gwaith; Uno Tablau yn seiliedig ar golofnau allweddol; Rhannwch Ddata yn Daflenni Lluosog; Trosi Swp xls, xlsx a PDF...
  • Mwy na 300 o nodweddion pwerus. Yn cefnogi Swyddfa / Excel 2007-2019 a 365. Yn cefnogi pob iaith. Defnydd hawdd yn eich menter neu sefydliad. Nodweddion llawn treial am ddim 30 diwrnod. Gwarant arian yn ôl 60 diwrnod.
tab kte 201905

Mae Tab Office yn Dod â rhyngwyneb Tabbed i'r Swyddfa, a Gwneud Eich Gwaith yn Haws o lawer

  • Galluogi golygu a darllen tabbed yn Word, Excel, PowerPoint, Cyhoeddwr, Mynediad, Visio a Phrosiect.
  • Agor a chreu dogfennau lluosog mewn tabiau newydd o'r un ffenestr, yn hytrach nag mewn ffenestri newydd.
  • Yn cynyddu eich cynhyrchiant 50%, ac yn lleihau cannoedd o gliciau llygoden i chi bob dydd!
gwaelod officetab
sylwadau (14)
Dim sgôr eto. Byddwch y cyntaf i sgorio!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Felly ceisiais hyn fodd bynnag mae'n ychwanegu rhes newydd ar waelod y llyfr gwaith ar linell 1048576 ond dim ond tua 800 o gofnodion sydd gan fy nhabl. Does gen i ddim syniad pam ei fod yn gwneud hyn!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Brindi,
Mae'r cod wedi'i ddiweddaru gyda'r broblem wedi'i datrys, ceisiwch ddiolch i chi am eich sylw.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Crystal, mae'r broblem yr un peth. Fe wnes i greu bwrdd newydd i mi fy hun gyda dim ond 2 res. Unwaith y byddaf yn clicio ar y botwm mae'r rhestr yn cael ei ehangu tan ddiwedd y tabl heb ychwanegu unrhyw resi. Dylai fod yn ychwanegu at res rhif 3.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Crystal, mae'r broblem yr un peth. Fe wnes i greu bwrdd newydd i mi fy hun gyda dim ond 2 res. Unwaith y byddaf yn clicio ar y botwm mae'r rhestr yn cael ei ehangu tan ddiwedd y tabl heb ychwanegu unrhyw resi. Dylai fod yn ychwanegu at res rhif 3.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Rhowch gynnig ar y cod Vba hwn i ychwanegu llinell newydd yn eich tabl

Is-dab_Llinell_Ychwanegu()
Dim pswStr Fel Llinynnol
pswStr = "123"
Ar Ail-ddechrau Gwall Nesaf
Application.ScreenUpdating = Anghywir
ActiveSheet.Unprotect Password:=pswStr
ActiveSheet.Range("D8").Dewis
'D8 yw penawd y tabl
Ystod ("Tabl 1[[# Penawdau],[Cyfanswm]]"). Dewiswch
Dewis.Diwedd(xlDown).Dewis
Selection.ListObject.ListRows.Add AlwaysInsert:=Anghywir
ActiveSheet.Protect Password:=pswStr

Is-End
.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Mac,
Diolch am rannu.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
gan ddefnyddio'r awgrymwyd (Selection.ListObject.ListRows.Add AlwaysInsert:=Anghywir) trwsio problem debyg i mi gyda'r cod gwreiddiol, lle na fyddai rhes lawn newydd (yn ymestyn fformiwlâu yn cynnwys cell i lawr) yn cael ei hychwanegu at y tabl ar lawer ehangach tabl 51 colofn. Felly diolch am rannu a thrwsio Mac.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, defnyddiais y cod uchod a chefais y neges gwall ganlynol:
msgstr "Amharwyd ar weithredu'r cod." Pan fyddaf yn clicio ar Debug, amlygir Llinell 20 "Selection.ClearContents".

Pan nodais y cod i ddechrau, fe weithiodd yn gywir.

Newidiais "Tabl" i enw'r tabl a newid y golofn i enw'r golofn rydw i'n ei defnyddio. Rwyf hefyd yn newid y "Selection.Offset (x,-x).Select" i gyd-fynd â fy anghenion.


Unrhyw awgrymiadau pam fod hyn yn digwydd?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo,

gweithiodd y cod i ddechrau, ond ar ôl i mi ddyblygu'r daflen waith, arhosodd ar ôl 24 awr ac yna diflannodd yr holl god. Ac yn awr ni allaf gael mynediad at y daflen waith.

mae'n dal i ddweud wrthyf cyfrinair anghywir. Ac mae'r cod wedi diflannu. .
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Merhaba Tablo ismini a satır başlangıc yerlerini değiştirdiğim zaman kod çalışmıyor yardımcı olurmusunuz
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Heia,
Gwnewch yn siŵr eich bod wedi newid i'r union un enw tabl a phennawd colofn yn y cod.
Rwyf wedi newid enw'r tabl a phennawd y golofn i brofi'r cod, ac mae'n gweithio'n dda.
A gawsoch unrhyw anogwr gwall? Mae angen i mi wybod mwy penodol am eich mater, fel eich fersiwn Excel. Po fwyaf manwl y disgrifiwch y gwall, y cyflymaf y gallwn ei ddeall a'i ddatrys.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Sut mae creu botwm i ddileu llinellau?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo!!!
Tengo una tabla donde una columna is protegida.
La tabla tiene 17 columnas de las cuales 7 deben quedar bloqueadas porque poseen bhfórmulas.
Mi tabla arranca en celda A4

Mae'n rhaid i chi ddefnyddio'r cod i'w ddefnyddio ar gyfer y prawf, er enghraifft, fel "CLAVE", "MITABLA" a "AVISO 1" gyda'r enwau canlynol:
Mae Donde "AVISO 1" yn cyfateb i una de las columnas que está protegida.

Dim pswStr Fel Llinynnol
'Diweddariad gan ExtendOffice 20181106
pswStr = "CLAVE"
Ar Ail-ddechrau Gwall Nesaf
Application.ScreenUpdating = Anghywir
ActiveSheet.Unprotect Password:=pswStr
ActiveSheet.Range("A4").Dewis
Ystod ("MITABLA[[#Headers],[AVISO 1]]"). Dewiswch
Dewis.Diwedd(xlDown).Dewis
Dewis.Gwrthbwyso(1, -16).Dewis
ActiveCell.FormulaR1C1 = "newydd"
ActiveSheet.Protect Password:=pswStr, DrawingObjects:=Anghywir, _
Cynnwys:=Gwir, Senarios:=Anghywir, _
AllowFormattingCells:=Gwir, AllowFormattingColumns:=Gwir, _
AllowFormattingRows:=Gwir, AllowInsertingColumns:=Gwir, _
AllowInsertingRows:=Gwir, AllowInsertingHyperlinks:=Gwir, _
AllowDeletingColumns:=Gwir, AllowDeletingRows:=Gwir, _
AllowSorting:=Gwir, Caniatáu Hidlo:=Gwir, _
AllowUsingPivotTables:=Gwir
Dewis.ClearContents
Application.ScreenUpdating = Gwir

Lo que está haciendo el codigo tal como lo escribo es que en lugar de agregar una nueva linea a mi tabla, está colocando la palabra "newydd" yn y ultima celda contenido de la columna "AVISO 1".

Ymdriniaeth llawfeddyg 2 dudas:
1. ¿cómo podría hacer para deminar of una columna protegida?
2. ¿por está haciendo esto el codigo definido?

Agradezco de antemano que me puedan ayudar! Estaré atenta.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Daina,
1. Os yw'r 7 colofn fformiwla yr ydych am eu hamddiffyn yn olynol yn y tabl.
Er enghraifft, penawdau'r colofnau yw gg, hh, ii, jj, kk, ll, mm fel y dangosir yn y sgrinlun isod. Gallwch gymhwyso'r cod VBA canlynol i'w wneud.
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/table.png
Yn y llinell hon Gosod xRg = Ystod ("Tabl3[[#Headers],[gg]:[mm]]"). Offset(1, 0) yn y cod canlynol, does ond angen i chi nodi penawdau'r golofn gyntaf a'r golofn olaf.
Sub Button1_Click()
 '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

    'Change the table name and the column headers
    Set tableRg = ActiveSheet.ListObjects("Table3").Range
    xRowCount = tableRg.Rows.Count
    
     Set xRg = Range("Table3[[#Headers],[gg]:[mm]]").Offset(1, 0)
    Set yRg = xRg.Resize(xRowCount, xRg.Columns.Count)

    xRg.Resize(xRowCount - 1, xRg.Columns.Count).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
End Sub

2. Os yw'r 7 colofn fformiwla yr ydych am eu hamddiffyn yn amharhaol yn y tabl. Cymhwyswch y cod canlynol. Yn y cod, mae angen i chi fewnbynnu penawdau'r colofnau â llaw fesul un.
Sub Button1_Click()
 '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

    'Change the table name and the column headers
    Set tableRg = ActiveSheet.ListObjects("Table3").Range
    xRowCount = tableRg.Rows.Count
    
    Set xRg = Range("Table3[[#Headers],[gg]]").Offset(1, 0)
    Set yRg = xRg.Resize(xRowCount, 1)
    xRg.Resize(xRowCount - 1, 1).AutoFill Destination:=yRg, Type:=xlFillDefault
    Set xRg = Range("Table3[[#Headers],[hh]]").Offset(1, 0)
    Set yRg = xRg.Resize(xRowCount, 1)
    xRg.Resize(xRowCount - 1, 1).AutoFill Destination:=yRg, Type:=xlFillDefault
    Set xRg = Range("Table3[[#Headers],[ii]]").Offset(1, 0)
    Set yRg = xRg.Resize(xRowCount, 1)
    xRg.Resize(xRowCount - 1, 1).AutoFill Destination:=yRg, Type:=xlFillDefault
    Set xRg = Range("Table3[[#Headers],[jj]]").Offset(1, 0)
    Set yRg = xRg.Resize(xRowCount, 1)
    xRg.Resize(xRowCount - 1, 1).AutoFill Destination:=yRg, Type:=xlFillDefault
    Set xRg = Range("Table3[[#Headers],[kk]]").Offset(1, 0)
    Set yRg = xRg.Resize(xRowCount, 1)
    xRg.Resize(xRowCount - 1, 1).AutoFill Destination:=yRg, Type:=xlFillDefault
     Set xRg = Range("Table3[[#Headers],[ll]]").Offset(1, 0)
    Set yRg = xRg.Resize(xRowCount, 1)
    xRg.Resize(xRowCount - 1, 1).AutoFill Destination:=yRg, Type:=xlFillDefault
    Set xRg = Range("Table3[[#Headers],[mm]]").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
End Sub
Nid oes unrhyw sylwadau wedi'u postio yma eto
Gadewch eich sylwadau
Postio fel Gwestai
×
Graddiwch y swydd hon:
0   Cymeriadau
Lleoliadau a Awgrymir