Mar a nì thu dùblachadh duilleag ann an Excel le VBA

  • Roinn Seo
Michael Brown

Tha an oideachadh a’ toirt seachad cruinneachadh de macros gus duilleagan a dhùblachadh ann an Excel: dèan lethbhreac agus ath-ainmeachadh stèidhichte air luach cealla, dèan lethbhreac de dh’ iomadh duilleag, dèan lethbhreac de dhuilleag-obrach gnìomhach gu faidhle eile gun fhosgladh, agus barrachd. <3.

Tha a bhith a’ dèanamh lethbhreac de dhuilleagan ann an Excel gu math luath agus furasta... ma thèid a dhèanamh dìreach uair no dhà. Tha a bhith a’ dùblachadh grunn dhuilleagan grunn thursan dòrainneach agus a’ caitheamh ùine. Air an duilleag seo, lorgaidh tu dòrlach de macros feumail airson an obair seo a dhèanamh fèin-ghluasadach.

Excel VBA gus duilleag a chopaigeadh gu leabhar-obrach ùr

Tha am macro aon-loidhne as sìmplidh seo a’ dèanamh dìreach mar a tha an t-ainm a’ moladh - dèan lethbhreac den duilleag ghnìomhach gu leabhar-obrach ùr.

Fo-copaidh poblachToNewWorkbook() activeSheet.Copy End Sub

Dèan lethbhreac de dh’ iomadh duilleag ann an Excel le VBA

Ma tha thu airson dèan lethbhreac de ghrunn dhuilleagan bhon leabhar-obrach gnìomhach gu fear ùr, tagh a h-uile duilleag-obrach anns a bheil ùidh agus ruith am macro seo:

Fo-copaidh PoblachSelectedSheets() ActiveWindow.SelectedSheets.Copy End Sub

Excel VBA gus lethbhreac a dhèanamh de dhuilleag gu leabhar-obrach eile

A-rèir càit a bheil thu airson an duilleag lethbhreacte a chuir a-steach, cleachd fear dhe na macros a leanas.

Dèan lethbhreac dhen duilleag gu toiseach leabhar-obrach eile

Cuiridh am macro seo lethbhreac dhen duilleag ghnìomhach roimhe seo a h-uile duilleag-obrach eile san fhaidhle ceann-uidhe, Leabhar1 san eisimpleir seo. Gus lethbhreac a dhèanamh gu faidhle eile, cuir ainm slàn an leabhair-obrach targaid agad an àite "Book1.xlsx".

Public SubCopySheetToBeginningAnotherWorkbook() activeSheet.Copy Before:=Leabhraichean-obrach ("Leabhar1.xlsx") ).Bileagan(1) Crìoch Fo

Dèan lethbhreac dhen duilleag gu deireadh leabhar-obrach eile

Tha am pìos còd seo a' dèanamh lethbhreac dhen duilleag-obrach gnìomhach agus cuir an leth-bhreac gu deireadh Leabhar1 . A-rithist, cuimhnich gun cuir thu ainm leabhar-obrach do cheann-uidhe an àite "Book1.xlsx".

Fo-lethbhreac poblach Leabhar-obrachToEndAnother() activeSheet.Copy After:=Leabhraichean-obrach("Leabhar1.xlsx")). " ).Duilleagan-obrach.Count) Deireadh Fo

Nòta. Gus an obraich na macros, feumaidh an leabhar-obrach targaid a bhith air a shàbhaladh air do chlàr cruaidh no lìonra.

Dèan lethbhreac den duilleag gu leabhar-obrach taghte

Gus an urrainn dhut an duilleag làithreach a chopaigeadh gu leabhar-obrach fosgailte sam bith, faodaidh tu Foirm-cleachdaidh a chruthachadh (leis an ainm UserForm1 ) le smachd ListBox ( ainmichte ListBox1 ) agus dà phutan:

<3

An ath rud, cliog dùbailte air an fhoirm agus cuir a-steach an còd gu h-ìosal ann an uinneag a’ Chòd:

Public SelectedWorkbook As String Private Sub UserForm_Initialize() SelectedWorkbook = "" ListBox1.Clear Airson gach wbk ann an Application.Workbooks ListBox1.AddItem (wbk.Name) An ath-cheann Fo-cheannard fo-cheannard prìobhaideachButton1_Click() Ma tha ListBox1.ListIndex > -1 Then SelectedWorkbook = ListBox1.List(ListBox1.ListIndex) Crìochnaich Ma tha Me.Hide End Sub Private Sub CommandButton2_Click() SelectedWorkbook = "" Me.Hide End Sub

Leis an UserForm na àite, faodaidh tu aon dhe na leanas a chleachdadh Macros airson lethbhreac a dhèanamh dhenduilleag ghnìomhach dhan leabhar-obrach a thagh thu.

Dèan lethbhreac den duilleag gu toiseach an leabhair-obrach a thagh thu :

Fo-lethbhreac poblachToBeginningAnotherWorkbook() Luchdaich UserForm1 UserForm1.Show If (UserForm1.SelectedWorkbook" " ) An uairsin activeSheet.Copy Before: = Leabhraichean-obrach (UserForm1.SelectedWorkbook).Bileagan(1) Crìoch ma luchdaich thu sìos UserForm1 End Fo

Dèan lethbhreac den duilleag gu deireadh an leabhair-obrach taghte :

Fo-sgrìobhadh poblach CopySheetToEndAnotherWorkbook() Luchdaich UserForm1 UserForm1.Show If (UserForm1.SelectedWorkbook"" ) An uairsin activeSheet.Copy Às deidh:=Leabhraichean-obrach (_ UserForm1.SelectedWorkbook). End Sub

Nuair a thèid a ruith ann an Excel, seallaidh am macro dhut liosta de na leabhraichean-obrach a chaidh fhosgladh an-dràsta. Bidh thu a’ taghadh am fear a tha a dhìth agus a’ briogadh air OK:

Excel macro airson lethbhreac a dhèanamh de dhuilleag agus ath-ainmeachadh

Nuair a nì thu leth-bhreac de dhuilleag ann an Excel, gheibh am mac-samhail a ainm sa chruth bunaiteach mar Duilleag 1 (2) . Faodaidh na macros a leanas casg a chuir ort an t-ainm bunaiteach atharrachadh le làimh.

Tha an còd seo a’ dùblachadh na duilleige-obrach gnìomhach, ag ainmeachadh an leth-bhreac mar “Duilleag Deuchainn” (tha thu saor ainm sam bith eile a thogras tu a chur na àite) , agus cuiridh e an duilleag a chaidh a lethbhreacadh aig deireadh an leabhair-obrach làithreach.

Fo-copaidh phoblachAndRenamePredefined() activeSheet.Copy Às dèidh:=Duilleagan-obrach(Sheets.Count) Air Mearachd Ath-thòiseachadh An ath- activeSheet.Name =Fo-sgrìobhadh "Deuchainn" Crìoch

Gus leigeil leis a' chleachdaiche ainm na duilleige a chaidh a lethbhreacadh a shònrachadh, cleachd an còd seo:

Fo-copaidh PhoblachAndRename() Dim newName As String On Mearachd Ath-thòisich an ath-ainm = InputBox ( "Cuir a-steach an t-ainm airson an duilleag-obrach a chaidh a lethbhreacadh") Ma tha newName" "An uairsin activeSheet.Copy Às deidh: = Duilleagan-obrach (Sheets.Count) Air Mearachd Ath-thòiseachadh Next activeSheet.Name = newName End Ma tha Crìoch air Fo

Nuair a bhios e a’ ruith, am macro a’ taisbeanadh a’ bhogsa a-steach a leanas, anns am bi thu a’ sgrìobhadh an ainm a tha thu ag iarraidh agus a’ putadh OK:

Excel macro gus lethbhreac a dhèanamh dhen duilleag agus ath-ainmeachadh stèidhichte air luach cealla

In ann an cuid de shuidheachaidhean, dh’ fhaodadh gum biodh e na b’ fhasa leth-bhreac ainmeachadh le luach cealla sònraichte, mar eisimpleir, bann-cinn colbh. Airson seo, cha leig thu leas ach an còd gu h-àrd a ghabhail agus luach na chill a thagh thu an-dràsta a thoirt don bhogsa a-steach gu fèin-ghluasadach. Coltach ris an eisimpleir mu dheireadh, thèid an leth-bhreac a chuir aig deireadh an leabhair-obrach ghnìomhach.

'S e am pàirt as duilghe a bhiodh ann gum biodh an cleachdaiche agad an-còmhnaidh a' taghadh a' chill cheart mus ruith thu am macro :)

Fo-sgrìobhadh Poblach CopySheetAndRenameByCell() Dim newName As String On Error Resume Next newName = InputBox ( "Cuir a-steach ainm airson an duilleag-obrach a chaidh a chopaigeadh", "Dèan lethbhreac den duilleag-obrach", ActiveCell.Value) Ma tha ùrName" "An uairsin activeSheet. Copy After:=Duilleagan-obrach(Sheets.Count) Air Mearachd Ath-thòisich An ath- activeSheet.Name = newName Deireadh Ma tha crìoch fo

Air neo, faodaidh tu còd cruaidh a dhèanamh air seòladh anan cealla leis am bu chòir an lethbhreac ainmeachadh, ceal A1 sa chòd gu h-ìosal. Gus ainm a chur air an duilleag-obrach a chaidh a chopaigeadh a tha stèidhichte air ceal eile, cuir comharra cealla iomchaidh na àite A1.

Fo-copaidh poblach AgusRenameByCell2() Dim wks As Worksheet Set wks = activeSheet activeSheet.Copy Às deidh: = Duilleagan-obrach (Sheets.Count) Ma tha wks.Range ( "A1") ).Luach" "An uairsin air adhart Mearachd Ath-thòiseachadh An ath- activeSheet.Name = wks.Range( "A1") ).Luach Crìoch Ma tha wks.Activate End Sub

Macro gus duilleag-obrach a chopaigeadh gu leabhar-obrach dùinte

Bidh am macro seo a’ dèanamh lethbhreac den duilleag ghnìomhach gu deireadh leabhar-obrach dùinte. Chan eil ainm leabhar-obrach eile air a shònrachadh sa chòd - fosglaidh am macro uinneag àbhaisteach Windows Explorer agus leigidh e leat faidhle ceann-uidhe sam bith a thaghadh:

Às deidh dhut am faidhle a thaghadh agus briog air Fosgail , nì am macro lethbhreac den duilleag ghnìomhach agus dùinidh e an leabhar-obrach targaid gu fèin-obrachail.

Fo-copaidh poblach Leabhar-obrachToClosed() Dim fileName Dim closedBook As Leabhar-obrach Dim currentSheet As Worksheet fileName = Application.GetOpenFilename( "Excel Faidhlichean (*.xlsx), *.xlsx”) Ma tha fileName Ceàrr An uairsin Application.ScreenUpdating = False Suidhich currentSheet = Suidhich Application.activeSheet closedBook = Leabhraichean-obrach. Fosgail (fileName) currentSheet.Copy Às deidh:=Book.Sheets dùinte (closedBook.Worksheets.Count) leabhar dùinte. Dùin ( True ) Application.ScreenUpdating = Fìor Chrìoch Ma tha Deireadh Fo

Excel VBA gus lethbhreac a dhèanamh de dhuilleag à leabhar-obrach eile às aonaisfosgladh

Leigidh am macro seo leat duilleag-obrach a chopaigeadh bho fhaidhle Excel eile gun a bhith ga fosgladh. Thèid an duilleag a chaidh a chopaigeadh a chuir a-steach aig deireadh an leabhair-obrach làithreach.

Dìreach cuimhnich gun cuir thu fear eile na àite sa chòd:

  • C:\Users\XXX\Documents\ Bu chòir Target_Book.xlsx atharrachadh gu fìor shlighe agus ainm an leabhair-obrach às a bheil thu airson lethbhreac a dhèanamh de dhuilleag.
  • Bu chòir ainm na duilleige a tha thu airson lethbhreac a dhèanamh a chur na àite air duilleag 1.
> Fo-lethbhreac poblach de Leabhar-obrachFromClosedWork() Dim sourceBook As Workbook Application.ScreenUpdating = Suidhich meallta sourceBook = Leabhraichean-obrach. Fosgail ( "C:\Users\XXX\Documents\Target_Book.xlsx") sourceBook.Sheets( "Sheet1") ).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) sourceBook. Dùin Application.ScreenUpdating = Fo-dheireadh fìor

Excel VBA gus an duilleag a dhùblachadh iomadh turas

Uaireannan, dh'fhaoidte gum feum thu an aon duilleag a dhùblachadh barrachd air aon turas, mar eisimpleir airson diofar fhoirmlean a dhearbhadh air an aon sheata dàta. 'S urrainn dhut seo a dhèanamh gu furasta leis a' mhacro a leanas.

Fo-dhùblachadh PoblachSheetMultipleTimes() Dim n As Integer On Error Ath-thòiseachadh Next n = InputBox ("Cò mheud lethbhreac dhen duilleag ghnìomhach a tha thu airson a dhèanamh?" ) Ma tha n > = 1 An uairsin Airson numtimes = 1 Gu n activeSheet.Copy Às deidh:=ActiveWorkbook.Sheets(Worksheets.Count) An ath Cheann Ma tha Deireadh Fo

Fosgail an duilleag thùsail, ruith am macro, sònraich cia mheud leth-bhreac den duilleag ghnìomhacha tha thu airson a dhèanamh, agus cliog OK :

Mar a nì thu dùblachadh air duilleagan ann an Excel le VBA

Gus lethbhreac a dhèanamh de dhuilleag ann an Excel le aon de na macros gu h-àrd, faodaidh tu an dàrna cuid an còd VBA a chuir a-steach don leabhar agad fhèin no macro a ruith bhon leabhar-obrach sampall againn.

Mar a chuireas tu macro ris an leabhar-obrach agad

Gus an còd san leabhar-obrach agad, dèan na ceumannan seo:

  1. Fosgail an duilleag-obrach a tha thu airson a chopaigeadh.
  2. Brùth Alt + F11 gus an deasaiche Visual Basic fhosgladh.
  3. Air adhart a' phana chlì, dèan briogadh deas An Leabhar Obrach seo , agus an uairsin briog air Cuir a-steach > Module .
  4. Cuir a-steach an còd ann an uinneag a’ Chòd.
  5. Brùth F5 gus am macro a ruith.

Airson an stiùireadh ceum air cheum mionaideach, faic Mar a chuireas tu còd VBA a-steach ann an Excel.

Mar a ruitheas tu macro bhon leabhar-obrach sampall againn

Air neo, faodaidh tu an leabhar-obrach sampall againn a luchdachadh sìos gu Duplicate Excel Sheets agus an còd a ruith às an sin.

Tha na macros a leanas anns an leabhar-obrach sampall:

<0 CopySheetToNewWorkbook - dèan lethbhreac dhen cu rrent bileag-obrach gu leabhar-obrach ùr.

CopySelectedSheets - dèan lethbhreac de dh'iomadh duilleag a thaghas tu gu leabhar-obrach ùr.

CopySheetToBeginningAnotherWorkbook - dèan lethbhreac dhen duilleag ghnìomhach gu toiseach leabhar-obrach eile.

CopySheetToEndAnotherWorkbook - dèan lethbhreac dhen duilleag ghnìomhach gu deireadh faidhle Excel eile.

CopySheetAndRename - dùblaich an t-sruth duilleag,ag ath-ainmeachadh mar a chaidh a shònrachadh leis a' chleachdaiche, agus a' cur an leth-bhreac às dèidh a h-uile duilleag eile san leabhar-obrach làithreach.

CopySheetAndRenamePredefined - a' dùblachadh na duilleige gnìomhach, a' toirt ainm le còd cruaidh dhan lethbhreac agus ga chur aig deireadh an leabhair-obrach làithreach.

CopySheetAndRenameByCell - a' dèanamh lethbhreac den duilleag ghnìomhach agus ga h-ath-ainmeachadh stèidhichte air luach na cealla a thagh thu.

CopySheetAndRenameByCell2 - dèan lethbhreac dhen duilleag ghnìomhach agus ath-ainmichear e stèidhichte air an t-seòladh cealla cruaidh.

CopySheetToClosedWorkbook - leigidh seo leat lethbhreac a dhèanamh de dhuilleag gu leabhar-obrach dùinte.

CopySheetFromClosedWorkbook - leigidh seo leat duilleag a chopaigeadh à faidhle Excel eile gun a bhith ga fosgladh.

DuplicateSheetMultipleTimes - leigidh sin leat duilleag a dhùblachadh ann an Excel iomadh uair.

Gu ruith am macro san Excel agad, dìreach dèan na leanas:

  1. Fosgail an leabhar-obrach a chaidh a luchdachadh a-nuas agus cuir an comas an t-susbaint ma thèid a bhrosnachadh.
  2. Fosgail an leabhar-obrach agad fhèin agus gluais chun na duilleige a tha thu ag iarraidh lethbhreac.
  3. <1 7> Anns an duilleag-obrach agad, brùth Alt + F8 , tagh am macro inntinneach, agus cliog air Ruith .

Sin mar as urrainn dhut lethbhreac duilleag ann an Excel le VBA. Tha mi a' toirt taing dhut airson an leughadh agus an dòchas ur faicinn air ar blog an ath sheachdain!

Tha Mìcheal Brown dèidheil air teicneòlas sònraichte le dìoghras airson pròiseasan iom-fhillte a dhèanamh nas sìmplidhe a’ cleachdadh innealan bathar-bog. Le còrr air deich bliadhna de eòlas anns a’ ghnìomhachas teignigeach, tha e air urram a thoirt dha na sgilean aige ann am Microsoft Excel agus Outlook, a bharrachd air Google Sheets agus Docs. Tha blog Mhìcheil gu sònraichte airson a chuid eòlais agus eòlais a cho-roinn le daoine eile, a’ toirt seachad molaidhean agus clasaichean-oideachaidh a tha furasta a leantainn airson cinneasachd agus èifeachdas a leasachadh. Ge bith co-dhiù a tha thu nad neach-proifeiseanta eòlach no nad neach-tòiseachaidh, tha blog Mhìcheal a 'tabhann lèirsinn luachmhor agus comhairle phractaigeach airson a bhith a' faighinn a 'chuid as fheàrr às na h-innealan bathar-bog riatanach sin.