Excel бағдарламасында VBA көмегімен парақты қалай көшіруге болады

  • Мұны Бөлісіңіз
Michael Brown

Оқулық Excel бағдарламасындағы парақтардың көшірмелерін жасау үшін макростар жинағын ұсынады: ұяшық мәніне негізделген көшіру және атын өзгерту, бірнеше парақты көшіру, белсенді жұмыс парағын ашпай басқа файлға көшіру және т.б.

Excel бағдарламасында парақтарды қолмен көшіру өте жылдам және қарапайым... егер бір немесе екі рет орындалса. Бірнеше парақтарды бірнеше рет көшіру қызықсыз және уақытты қажет етеді. Бұл бетте сіз осы тапсырманы автоматтандыру үшін бірнеше пайдалы макростарды таба аласыз.

    Жаңа жұмыс кітабына парақты көшіру үшін Excel VBA

    Бұл ең қарапайым бір жолды макрос жасайды. дәл оның аты айтып тұрғандай - белсенді парақты жаңа жұмыс кітабына көшіреді.

    Public Sub CopySheetToNewWorkbook() activeSheet.Copy End Sub

    VBA көмегімен Excel бағдарламасында бірнеше парақты көшіріңіз

    Егер қаласаңыз белсенді жұмыс кітабынан бірнеше парақты жаңасына көшіріңіз, барлық қызықты жұмыс парақтарын таңдап, мына макросты іске қосыңыз:

    Public Sub CopySelectedSheets() ActiveWindow.SelectedSheets.Copy End Sub

    парақты басқа жұмыс кітабына көшіру үшін Excel VBA

    Көшірілген парақты қайда кірістіргіңіз келетініне байланысты келесі макростардың бірін пайдаланыңыз.

    Бетті басқа жұмыс кітабының басына көшіру

    Бұл макрос белсенді парақты көшіру алдында көшіреді. тағайындалған файлдағы барлық басқа жұмыс парақтары, осы мысалдағы Кітап1 . Басқа файлға көшіру үшін "Book1.xlsx" сөзін мақсатты жұмыс кітабыңыздың толық атымен ауыстырыңыз.

    Жалпыға ортақ қосымшаCopySheetToBeginningAnotherWorkbook() activeSheet.Copy Before:=Workbooks( "Book1.xlsx" ).Sheets(1) End Sub

    Бетті басқа жұмыс кітабының соңына көшіру

    Бұл код бөлігі белсенді жұмыс парағын көшіреді және көшірмені 1-кітап соңына орналастырады. Тағы да, "Book1.xlsx" дегенді тағайындалған жұмыс кітабыңыздың атымен ауыстыруды ұмытпаңыз.

    Public Sub CopySheetToEndAnotherWorkbook() activeSheet.Copy After:=Workbooks( "Book1.xlsx" ).Sheets(Workbooks("Book1.xlsx" " ).Жұмыс парақтары.Санау) End Sub

    Ескертпе. Макростар жұмыс істеуі үшін мақсатты жұмыс кітабы қатты дискіде немесе желіде сақталуы керек.

    Таңдалған жұмыс кітабына парақты көшіру

    Ағымдағы парақты кез келген ашық жұмыс кітабына көшіру үшін, UserForm ( UserForm1 атты) ListBox басқару элементімен ( ListBox1 атты) және екі түймені жасай аласыз:

    Одан кейін пішінді екі рет басып, код терезесіне төмендегі кодты қойыңыз:

    Жалпыға ортақ таңдаулы жұмыс кітабы жол жеке қосалқы UserForm_Initialize() SelectedWorkbook = "" ListBox1. Application.Workbooks ListBox1.AddItem ішіндегі әрбір жұмыс кітабын тазалау. (wbk.Name) Келесі соңы Ішкі жеке қосалқы пәрмен түймесі1_Click() Егер ListBox1.ListIndex > -1 Содан кейін SelectedWorkbook = ListBox1.List(ListBox1.ListIndex) End If Me.Hide End Sub Private Sub CommandButton2_Click() SelectedWorkbook = "" Me.Hide End Sub

    UserForm орнында болса, төмендегілердің бірін пайдалануға болады. көшіру үшін макростарбелсенді парақты өзіңіз таңдаған жұмыс кітабына қойыңыз.

    Парақты таңдалған жұмыс кітабының басына көшіріңіз:

    Жалпыға ортақ қосымша көшірме парақ парағынанБасындаБасқа жұмыс кітабына() UserForm1 UserForm1 жүктеңіз. Көрсету (UserForm1.SelectedWorkbook " " ) Содан кейін activeSheet.Copy Before:=Жұмыс кітаптары(UserForm1.SelectedWorkbook).Sheets(1) End If UserForm1 End Subload жүктеңіз

    Парақты таңдалған жұмыс кітабының соңына көшіріңіз:

    Public Sub. CopySheetToEndAnotherWorkbook() UserForm1 UserForm1 жүктеңіз. Show If (UserForm1.SelectedWorkbook "" ) Содан кейін activeSheet.Copy After:=Workbooks(_ UserForm1.SelectedWorkbook).Sheets(_ Workbooks(UserForm1.UserForm1.SelectedWorkbook). End Sub

    Excel бағдарламасында іске қосылғанда, макрос сізге қазіргі уақытта барлық ашылған жұмыс кітаптарының тізімін көрсетеді. Қажеттісін таңдап, OK түймесін басыңыз:

    Парақты көшіру және атын өзгерту үшін Excel макросы

    Excel бағдарламасында парақты көшірген кезде көшірмеге 1-парақ (2) сияқты әдепкі пішімдегі атау. Төмендегі макростар әдепкі атауды қолмен өзгерту қиындықтарын болдырмайды.

    Бұл код белсенді жұмыс парағын көшіреді, көшірмені "Сынақ парағы" деп атайды (оны өзіңізге ұнайтын кез келген басқа атпен ауыстыруға болады) , және көшірілген парақты ағымдағы жұмыс кітабының соңына орналастырады.

    Public Sub CopySheetAndRenamePredefined() activeSheet.Copy After:=Жұмыс парақтары(Sheets.Count) Қате туралы Жалғастыру Келесі activeSheet.Name ="Сынақ парағы" соңғы қосымшасы

    Пайдаланушыға көшірілген парақтың атын көрсетуге рұқсат беру үшін мына кодты пайдаланыңыз:

    Public Sub CopySheetAndRename() Dim newName Қатедегі жол ретінде Жалғастыру Келесі newName = InputBox( "Көшірілген жұмыс парағының атын енгізіңіз" ) Егер newName "" Содан кейін activeSheet.Copy After:=Worksheets(Sheets.Count) Қате Жалғастыру Келесі activeSheet.Name = newName End If End Sub

    Іске қосу кезінде макрос келесі енгізу жолағын көрсетеді, оған қажетті атауды енгізіп, OK түймесін басыңыз:

    Парақты көшіру және ұяшық мәніне қарай атын өзгерту үшін Excel макросы

    Ішінде кейбір жағдайларда нақты ұяшық мәні бар көшірмеге атау беру ыңғайлырақ болуы мүмкін, мысалы, баған тақырыбы. Ол үшін сіз жай ғана жоғарыдағы кодты алып, қазір таңдалған ұяшықтың мәнін енгізу жолағына автоматты түрде жеткізесіз. Алдыңғы мысалдағыдай, көшірме белсенді жұмыс кітабының соңына орналастырылады.

    Ең қиыны - іске қосу алдында пайдаланушылар әрқашан дұрыс ұяшықты таңдауы керек. макро :)

    Public Sub CopySheetAndRenameByCell() Dim newName Жол ретінде Қате Жалғастыру Келесі newName = InputBox( "Көшірілген жұмыс парағының атын енгізіңіз" , "Жұмыс парағын көшіріңіз" , ActiveCell.Value) Егер newName "" Содан кейін activeSheet. Кейін көшіру:=Жұмыс парақтары(Sheets.Count) Қате Жалғастыру Келесі activeSheet.Name = newName End If End Sub

    Балама ретінде, мекенжайды қатты кодтауға болады.көшірмені атау керек ұяшық , төмендегі кодтағы A1 ұяшығы. Көшірілген жұмыс парағын басқа ұяшыққа негіздеу үшін, A1 мәнін сәйкес ұяшық сілтемесімен ауыстырыңыз.

    Жалпы ішкі көшіру парағын көшіруSheetAndRenameByCell2() Күңгірт апталарды Жұмыс парағы ретінде орнату wks = activeSheet activeSheet.Copy After:=Worksheets(Sheets.Count) Егер wks.Range ( "A1" ).Мән "" Содан кейін Қате Жалғастыру Келесі activeSheet.Name = wks.Range( "A1" ).Value End If wks.End End Active

    Жұмыс парағын жабық жұмыс кітабына көшіру үшін макрос

    Бұл макрос белсенді парақты жабық жұмыс кітабының соңына көшіреді. Басқа жұмыс кітабының аты кодта көрсетілмеген - макрос Windows Explorer стандартты терезесін ашады және кез келген тағайындалған файлды таңдауға мүмкіндік береді:

    Файлды таңдағаннан кейін және Ашу түймешігін басыңыз, макрос белсенді парақты көшіреді және мақсатты жұмыс кітабын автоматты түрде жабады.

    Public Sub CopySheetToClosedWorkbook() Dim fileName Dim жабықКітап Жұмыс кітабы ретінде күңгірт ағымдағы парақ Жұмыс парағы ретінде fileName = Application.GetOpenFilename( "Excel" Файлдар (*.xlsx), *.xlsx" ) Егер файл атауы жалған болса, Application.ScreenUpdating = False орнатыңыз currentSheet = Application.activeSheet CloseBook = Жұмыс кітаптарын орнатыңыз. Ашық (файл атауы) currentSheet.Copy After:=closedBook.Sheets(closedBook.Worksheets.Count) жабықКітап. Жабу ( True ) Application.ScreenUpdating = True End If End Sub

    Excel VBA парағын басқа жұмыс кітабынан көшіруашу

    Бұл макрос жұмыс парағын ашпай-ақ басқа Excel файлынан көшіруге мүмкіндік береді. Көшірілген парақ ағымдағы жұмыс кітабының соңына енгізіледі.

    Тек кодта бірнеше ауыстыруды ұмытпаңыз:

    • C:\Users\XXX\Documents\ Target_Book.xlsx парақты көшіргіңіз келетін жұмыс кітабының нақты жолы мен атауына өзгертілуі керек.
    • 1-парақ көшірілетін парақтың атымен ауыстырылуы керек.
    Public Sub CopySheetFromClosedWorkbook() Бастапқы кітапты жұмыс кітабы ретінде күңгірттеу Application.ScreenUpdating = False sourceBook = Жұмыс кітаптарын орнату. Ашыңыз ( "C:\Users\XXX\Documents\Target_Book.xlsx" ) sourceBook.Sheets( "Sheet1" ).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) sourceBook. Жабу Application.ScreenUpdating = True End Sub

    Excel VBA парақты бірнеше рет қайталау үшін

    Кейде бір парақты бірнеше рет көшіру қажет болуы мүмкін, мысалы, бір деректер жиынында әртүрлі формулаларды сынау үшін. Мұны келесі макроспен оңай жасауға болады.

    Public Sub DuplicateSheetMultipleTimes() Dim n As Integer On Қате Жалғастыру Келесі n = InputBox( "Белсенді парақтың қанша көшірмесін жасағыңыз келеді?" ) If n > = 1 Содан кейін numtimes үшін = 1-ден n activeSheet.Copy After:=ActiveWorkbook.Sheets(Worksheets.Count) Келесі соңы If End Sub

    Түпнұсқа парақты ашыңыз, макросты іске қосыңыз, белсенді парақтың қанша көшірмесін көрсетіңізжасау керек және Жарайды түймесін басыңыз:

    VBA көмегімен Excel бағдарламасында парақтарды көшіру

    Excel бағдарламасында парақты көшіру жоғарыдағы макростардың бірімен VBA кодын өз кітабыңызға енгізуге немесе үлгі жұмыс кітабымыздағы макросты іске қосуға болады.

    Жұмыс кітабыңызға макросты қалай қосуға болады

    Кірістіру үшін жұмыс кітабыңыздағы кодты енгізіңіз, мына қадамдарды орындаңыз:

    1. Көшірілетін жұмыс парағын ашыңыз.
    2. Visual Basic өңдегішін ашу үшін Alt + F11 пернелерін басыңыз.
    3. Қосу. сол жақ тақтада ThisWorkbook түймесін тінтуірдің оң жақ түймешігімен басыңыз, содан кейін Кірістіру > Модуль түймесін басыңыз.
    4. Код терезесіне кодты қойыңыз.
    5. Макросты іске қосу үшін F5 пернесін басыңыз.

    Егжей-тегжейлі қадамдық нұсқауларды Excel бағдарламасына VBA кодын енгізу жолын қараңыз.

    Қалай іске қосу керек біздің үлгі жұмыс кітабымыздағы макросты

    Немесе, сіз біздің үлгі жұмыс кітабымызды қайталанатын Excel парақтарына жүктеп алып, сол жерден кодты іске қоса аласыз.

    Үлгі жұмыс кітабында келесі макростар бар:

    CopySheetToNewWorkbook - cu көшіреді жұмыс парағын жаңа жұмыс кітабына rrent.

    CopySelectedSheets - сіз таңдаған бірнеше парақтарды жаңа жұмыс кітабына көшіреді.

    CopySheetToBeginningAnotherWorkbook - белсенді парақты көшіреді. басқа жұмыс кітабының басына.

    CopySheetToEndAnotherWorkbook - белсенді парақты басқа Excel файлының соңына көшіреді.

    CopySheetAndRename - ағымдағының көшірмесін жасайды. парақ,оның атын пайдаланушы көрсеткендей өзгертеді және көшірмені ағымдағы жұмыс кітабындағы барлық басқа парақтардан кейін қояды.

    CopySheetAndRenamePredefined - белсенді парақты көшіреді, көшірмеге қатты кодталған атау береді және оны орналастырады. ағымдағы жұмыс кітабының соңында.

    CopySheetAndRenameByCell - белсенді парақтың көшірмесін жасайды және таңдалған ұяшық мәніне қарай оның атын өзгертеді.

    CopySheetAndRenameByCell2 - белсенді парақты көшіреді және қатты кодталған ұяшық мекенжайы негізінде оның атын өзгертеді.

    CopySheetToClosedWorkbook - парақты жабық жұмыс кітабына көшіруге мүмкіндік береді.

    CopySheetFromClosedWorkbook - парақты басқа Excel файлынан ашпай-ақ көшіруге мүмкіндік береді.

    DuplicateSheetMultipleTimes - Excel бағдарламасында парақты бірнеше рет көшіруге мүмкіндік береді.

    Кімге. макросты Excel бағдарламасында іске қосыңыз, жай ғана келесі әрекеттерді орындаңыз:

    1. Жүктелген жұмыс кітабын ашыңыз және сұралса мазмұнды қосыңыз.
    2. Жұмыс кітабыңызды ашыңыз және қажет параққа өтіңіз. көшірме.
    3. <1 7>Жұмыс парағында Alt + F8 пернелерін басыңыз, қызықтыратын макросты таңдап, Іске қосу түймесін басыңыз.

    Осылайша көшірме жасауға болады. Excel бағдарламасындағы VBA бар парақ. Оқығаныңыз үшін алғыс айтамын және келесі аптада блогымызда көреміз деп үміттенемін!

    Майкл Браун - бағдарламалық құралдарды пайдалана отырып, күрделі процестерді жеңілдетуге құмарлығы бар арнайы технология әуесқойы. Технологиялық индустрияда он жылдан астам тәжірибесі бар ол Microsoft Excel және Outlook, сондай-ақ Google Sheets және Docs бағдарламаларында өз дағдыларын жетілдірді. Майклдың блогы өз білімі мен тәжірибесін басқалармен бөлісуге, өнімділік пен тиімділікті арттыруға арналған оңай орындалатын кеңестер мен оқулықтар беруге арналған. Сіз тәжірибелі кәсіпқой болсаңыз да, жаңадан бастаушы болсаңыз да, Майклдың блогы осы маңызды бағдарламалық құралдарды барынша пайдалану үшін құнды түсініктер мен практикалық кеңестер ұсынады.