Дыяпазон капіравання Excel VBA на іншы аркуш (8 самых простых спосабаў)

  • Падзяліцца Гэтым
Hugh West

Кожны раз, калі вам спатрэбіцца, вы можаце скапіяваць дыяпазон з аднаго аркуша на іншы аркуш або кнігу. Існуюць розныя тыпы капіявання і ўстаўкі. Пасля гэтага артыкула вы пазнаёміцеся з рознымі спосабамі выкарыстання дыяпазону капіравання Excel VBA на іншы аркуш.

Каб зрабіць тлумачэнне жывым, я буду выкарыстоўваць узор набору даных, які прадстаўляе асабістую інфармацыю канкрэтных асоб . Набор даных мае 4 слупкі. Гэтыя слупкі: Імя, Прозвішча, Поўнае імя і Адрас электроннай пошты .

Спампаваць сшытак для практыкі

VBA Капіяваць дыяпазон на іншы ліст.xlsm

8 спосабаў Excel VBA Капіяваць дыяпазон на іншы аркуш

1. Скапіруйце дыяпазон на іншы аркуш з фарматам

Кожны раз, калі вы хочаце скапіяваць дыяпазон з аднаго аркуша на іншы з дапамогай фарматаваць вы можаце проста зрабіць гэта з дапамогай VBA .

Тут я скапірую дыяпазон з аркуша набору даных на аркуш WithFormat .

Давайце пачнем працэдуру,

Спачатку адкрыйце ўкладку Распрацоўшчык >> абярыце Visual Basic

Вы таксама можаце выкарыстоўваць ALT + F11 клавіятуру, каб адкрыць VBA рэдактар.

Далей адкрыецца новае акно з назвай Microsoft Visual Basic для прыкладанняў.

Адтуль адкрыйце Уставіць >> абярыце Модуль .

А Модуль адкрыецца, затым увядзіце наступны код у якое адкрылася >> абярыце Прагляд макрасаў

➤ Адкрыецца дыялогавае акно .

Цяпер з назвы макраса выберыце Copy_Range_BelowLastCell_AnotherSheets таксама выберыце кнігу ў Макрасы ў .

Нарэшце, Выканаць вылучаны макрас .

Такім чынам, ён скапіруе вылучаны дыяпазон і ўставіць яго з апошняга радка іншага аркуша .

8. VBA Скапіруйце дыяпазон у апошні радок іншай працоўнай кнігі

Калі вы хочаце Капіяваць дыяпазон у апошні радок іншага аркуша працоўнай кнігі, вы таксама можаце выкарыстоўваць VBA .

Тут я скапірую дыяпазон з набору даных2 аркуш да Аркуш1 з Кніга2 але з першай непустой ячэйкі.

Каб пачаць працэдуру,

Спачатку адкрыйце ўкладку Распрацоўшчык >> абярыце Visual Basic

Вы таксама можаце выкарыстоўваць ALT + F11 клавіятуру, каб адкрыць VBA рэдактар.

Далей адкрыецца новае акно Microsoft Visual Basic для прыкладанняў.

Адтуль адкрыйце Уставіць >> выберыце Модуль .

Адкрыецца Модуль , затым увядзіце наступны код у адкрыты Модуль .

6183

Тут я аб'явіў Sub працэдуру Copy_Range_BelowLastCell_To_Another_Workbook дзе wsCopy і wsDestination гэта тып Працоўны ліст , lCopyLastRow і lDestLastRow маюць тып Long .

Спачатку выкарыстоўваецца Set , каб усталяваць зменныя для аркуша для капіравання і аркуша прызначэння.

Далей, выкарыстаў метад Row , каб знайсці апошні радок на аснове даных слупка A у дыяпазоне капіравання.

Зноў жа, выкарыстаў метад Row каб знайсці першы пусты радок на аснове даных слупка A ў дыяпазоне прызначэння, таксама выкарыстоўваецца Зрушэнне для перамяшчэння на адну ўласцівасць уніз.

Нарэшце, Скапіравана дадзеныя аркуша Dataset2 з працоўнай кнігі Excel VBA Copy Range to Another Sheet.xlsm у мэтавы Sheet1 рабочай кнігі Book2.xlsx .

Цяпер Захавайце код і вярніцеся да працоўнага ліста.

Далей адкрыйце ўкладку Выгляд >> з Макрасы >> абярыце Прагляд макрасаў

➤ Адкрыецца дыялогавае акно .

Цяпер з назвы макраса выберыце Copy_Range_BelowLastCell_To_Another_Workbook таксама выберыце кнігу ў Макрасы ў .

Нарэшце, Выканаць выбраны Макрас .

Такім чынам, ён скапіруе вылучаны дыяпазон з існуючага аркуша ў апошні радок іншай кнігі.

Практычны раздзел

Я даў практычны аркуш у сшытку, каб практыкаваць гэтыя тлумачэнні спосабаў дыяпазону капіравання Excel VBA на іншы аркуш.

Выснова

У гэтым артыкуле я растлумачыў 8 розных тыпаў простых і хуткіх спосабаўДыяпазон капіравання Excel VBA на іншы аркуш. Гэтыя розныя спосабы дапамогуць вам скапіяваць дыяпазон з аднаго аркуша на іншы, а таксама з аднаго аркуша ў іншую кнігу. І апошняе, але не менш важнае: калі ў вас ёсць якія-небудзь прапановы, ідэі і водгукі, калі ласка, не саромейцеся каментаваць ніжэй.

Модуль.
5827

Тут я дэклараваў падпрацэдуру Copy_Range_withFormat_ToAnother_Sheet

Я ўзяў дыяпазон B1:E10 , каб скапіяваць з існуючага аркуша ў імя аркуша WithFormat .

Тут я выкарыстаў Капіяваць метад для капіявання выбранага дыяпазону, метад Copy капіруе любы дыяпазон з дапамогай Format .

Нарэшце, Захавайце код і вярніцеся да працоўнага ліста .

Далей адкрыйце ўкладку Выгляд >> з Макрасы >> абярыце Прагляд макрасаў

➤ Адкрыецца дыялогавае акно .

Цяпер з назвы макраса выберыце Copy_Range_withFormat_ToAnother_Sheet таксама выберыце кнігу ў Макрасы ў .

Нарэшце, Выканаць выбраны Макрас .

Такім чынам, ён будзе скапіраваць абраны дыяпазон з дапамогай фарматавання на новы аркуш, які я выбраў ( WithFormat) .

2. VBA Капіяваць дыяпазон на іншы аркуш без фармату

Гэта таксама можна скапіяваць дыяпазон на іншы аркуш без фарматавання з дапамогай VBA .

Вось я скапірую дыяпазон ад Dataset sheet да WithoutFormat sheet.

Давайце пачнем працэдуру,

Цяпер адкрыйце Developer укладка >> абярыце Visual Basic ( выкарыстоўвайце ALT + F11)

Далей адкрыецца Microsoft Visual Basic для прыкладанняў.

Затым адкрыйце Уставіць >> абярыце Модуль .

Адкрыецца Модуль , затым увядзіце наступны код у адкрыты Модуль .

5760

Тут я абвясціў Sub працэдуру Copy_Range_WithoutFormat_Toanother_Sheet

Я ўзяў дыяпазон B1:E10 каб скапіяваць з існуючага аркуша ў аркуш з імем WithoutFormat .

Тут я выкарыстаў метад Copy каб скапіяваць выбраны дыяпазон, але таксама згадваецца Paste:=xlPasteValues ​​ у метадзе PasteSpecial , так што ён будзе ўстаўляць толькі Значэнні выбранага дыяпазону, а не фармат.

Нарэшце , Захавайце код і вярніцеся да працоўнага аркуша.

Далей адкрыйце ўкладку Выгляд >> з Макрасы >> абярыце Прагляд макрасаў

➤ Адкрыецца дыялогавае акно .

Цяпер з назвы макраса выберыце Copy_Range_WithoutFormat_Toanother_Sheet і таксама выберыце кнігу ў Макрасы ў .

Нарэшце, Запусціце выбраны макрас .

Такім чынам, ён будзе скапіраваць выбраны дыяпазон толькі з значэннямі без фарматавання .

3. Скапіруйце дыяпазон на іншы аркуш з фарматам і шырынёй слупка

Часам вы можаце Скапіруйце любы выбраны дыяпазон як ёсць, для гэтага вы можаце Скапіяваць дыяпазон з Фарматам і Шырынёй слупка .

Тут, Я скапірую дыяпазон з аркуша набору даных у фармат & Шырыня слупка ліст.

Каб убачыць працэдуру выканання задачы з дапамогай VBA ,

Спачатку адкрыйце ўкладку Распрацоўшчык >> абярыце Visual Basic

Вы таксама можаце выкарыстоўваць ALT + F11 клавіятуру, каб адкрыць VBA рэдактар.

Далей адкрыецца новае акно Microsoft Visual Basic для прыкладанняў.

Там адкрыйце Уставіць >> абярыце Модуль .

Адкрыецца Модуль , затым увядзіце наступны код у адкрыты Модуль .

5228

Тут я абвясціў Sub працэдуру Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth

Я ўзяў дыяпазон B1:E10 каб скапіяваць з існуючага аркуша на імя аркуша прызначэння Фармат & Шырыня слупка .

Тут я выкарыстаў метад Капіяваць , каб скапіяваць выбраны дыяпазон. Я таксама выкарыстаў метад PasteSpecial , дзе згадаў Paste:=xlPasteColumnWidths , каб ён устаўляў выбраны дыяпазон разам з Format і Column Width .

Нарэшце, Захавайце код і вярніцеся да працоўнага ліста.

Далей адкрыйце ўкладку Выгляд >> з Макрасы >> абярыце Прагляд макрасаў

➤ Адкрыецца дыялогавае акно .

Цяпер з назвы макраса выберыце Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth і таксама выберыце кнігу ў Макрасы ў .

Нарэшце, Запусціце выбранае Макрас .

У выніку ён скапіруе абраны дыяпазон з фарматам і шырынёй слупка .

4. VBA Скапіруйце дыяпазон на іншы аркуш з формулай

Калі ў вашым наборы даных ёсць формула, якую вы хочаце скапіяваць. Не хвалюйся! Вы можаце скапіяваць дыяпазон, які змяшчае Формулу на іншы аркуш, захаваўшы формулу некранутай.

Тут я скапірую дыяпазон з аркуша Набору даных на WithFormula ліст

Давайце пачнем працэдуру,

Для пачатку адкрыйце ўкладку Распрацоўшчык >> абярыце Visual Basic ( вы таксама можаце выкарыстоўваць ALT + F11 клавіятуру)

Далей, гэта адкрыецца Microsoft Visual Basic для прыкладанняў.

Адтуль адкрыйце Уставіць >> абярыце Модуль .

Адкрыецца Модуль , затым увядзіце наступны код у адкрыты Модуль .

1815

Тут я абвясціў Sub працэдуру Copy_Range_withFormula_ToAnother_Sheet

Я ўзяў дыяпазон B1:E10 каб скапіяваць з існуючага аркуша ў імя аркуша прызначэння WithFormula .

Тут я выкарыстаў метад Copy , каб скапіяваць выбраны дыяпазон. Я таксама выкарыстаў метад PasteSpecial , дзе згадаў Paste:=xlPasteFormulas , каб ён пераносіў Формулы разам з абраным дыяпазонам.

Нарэшце , Захавайце код і вярніцеся да працоўнага аркуша.

Затым адкрыйце Прагляд табуляцыя >> з Макрасы >> абярыце Прагляд макрасаў

➤ Адкрыецца дыялогавае акно .

Цяпер з назвы макраса выберыце Copy_Range_withFormula_ToAnother_Sheet таксама выберыце працоўную кнігу ў Макрасы ў .

Нарэшце, Выканаць вылучаны Макрас .

Такім чынам, ён Капіруе ўсе выбраныя дыяпазоны ячэек з Формуламі .

Падобныя чытанні:

  • Як выкарыстоўваць зрушэнне дыяпазону VBA (11 спосабаў)
  • VBA для кожнай ячэйкі дыяпазону ў Excel (3 метады)
  • Як выкарыстоўваць аб'ект дыяпазону VBA ў Excel (5 уласцівасцей)

5. Скапіруйце дыяпазон з дапамогай AutoFit на іншы аркуш

Пры Капіраванні дыяпазону на іншы аркуш вы таксама можаце выкарыстоўваць метад AutoFit у VBA у AutoFit скапіяваны дыяпазон на новым аркушы.

Тут я скапірую дыяпазон з набору даных ліст у Аўтападбор ліст

Давайце пачнем працэдуру,

Спачатку адкрыйце ўкладку Распрацоўшчык >> абярыце Visual Basic

Вы таксама можаце выкарыстоўваць ALT + F11 клавіятуру, каб адкрыць VBA рэдактар.

Далей адкрыецца акно Microsoft Visual Basic для прыкладанняў.

Затым адкрыйце Уставіць > ;> абярыце Модуль .

А Модуль адкрыецца, затым увядзіце наступны код у якое адкрылася Модуль .

7917

Тут я дэклараваў падпрацэдуру Copy_Range_withFormat_AutoFit

Спачатку я выбраў ліст Набор даных . Затым узяў дыяпазон B1:E10 для капіявання з існуючага аркуша на аркуш прызначэння пад назвай AutoFit .

Тут я выкарыстаў Капіяваць метад для капіявання выбранага дыяпазону, а метад AutoFit аўтаматычна падганяе зададзеныя слупкі B:E .

Нарэшце, захавайце код і ідзіце назад да аркуша.

Далей адкрыйце ўкладку Выгляд >> з Макрасы >> абярыце Прагляд макрасаў

➤ Адкрыецца дыялогавае акно .

Цяпер з назвы макраса выберыце Copy_Range_withFormat_AutoFit таксама выберыце кнігу ў Макрасы ў .

Нарэшце, Выканаць выбраны Макрас .

Такім чынам, ён будзе скапіраваць абраны дыяпазон на новы аркуш, а таксама аўтападставіць слупкі.

6. VBA Капіяванне дыяпазону ў іншую працоўную кнігу

Калі хочаце, вы таксама можаце Капіяваць дыяпазон з аднаго аркуша на іншы іншай кнігі.

Тут я скапірую дыяпазон з аркуша набору даных у аркуш1 з кнігі1 рабочая кніга.

Давайце пачнем працэдуру,

Спачатку адкрыйце ўкладку Распрацоўшчык >> абярыце Visual Basic (y вы таксама можаце выкарыстоўваць ALT + F11 клавіятуру)

Затым, ён адкрые Microsoft VisualBasic for Applications.

Далей адкрыйце Insert >> абярыце Модуль .

Адкрыецца Модуль , затым увядзіце наступны код у адкрыты Модуль .

4121

Тут я абвясціў Sub працэдуру Copy_Range_WithFormat_Toanother_WorkBook

Я ўзяў дыяпазон B3:E10 з назвы аркуша Набор даных для капіравання з існуючага аркуша ў новую назву працоўнай кнігі Кніга1 і назву аркуша Аркуш1 .

Тут я выкарыстаў метад Капіяваць , каб скапіяваць выбраны дыяпазон у новую кнігу.

Нарэшце, Захавайце код і вярніцеся да працоўнага ліста.

Далей адкрыйце ўкладку Выгляд >> з Макрасы >> абярыце Прагляд макрасаў

➤ Адкрыецца дыялогавае акно .

Цяпер з назвы макраса выберыце Copy_Range_WithFormat_Toanother_WorkBook таксама выберыце кнігу ў Макрасы ў .

Нарэшце, Выканаць выбраны макрас .

Цяпер ён будзе скапіраваць абраны дыяпазон з аркуша набору даных у іншую кнігу.

7. Скапіруйце дыяпазон у апошні радок іншага аркуша

У любым выпадку, калі вы хочаце Скапіяваць дыяпазон на іншы аркуш з пэўнай ячэйкі або апошняй ячэйкі, вы можаце зрабіць гэта з дапамогай VBA .

Перш чым пачаць працэдуру, хачу сказаць вам, што я ўзяў два новыя аркушы, якія складаюцца з Поўнае імя, электронная пошта, і Адрас .

Давайце спачатку паглядзім на аркуш Dataset2 .

Вось аркуш пад апошняй ячэйкай .

Тут я скапірую дыяпазон з Набор даных2 ліста ў Ніжэй апошняй ячэйкі але з першай непустой ячэйкі.

Для пачатку адкрыйце ўкладку Распрацоўшчык >> абярыце Visual Basic

Далей адкрыецца Microsoft Visual Basic для прыкладанняў.

Затым адкрыйце Уставіць >> абярыце Модуль .

Адкрыецца Модуль , затым увядзіце наступны код у адкрыты Модуль .

7659

Тут я аб'явіў Sub працэдуру Copy_Range_BelowLastCell_AnotherSheets

Спачатку я выбраў аркуш Dataset2 , а затым выкарыстаў метад Row для падліку Last Row і захаваў падлічаны радок у lr .

Потым узяты дыяпазон A2:C & lr каб скапіяваць з існуючага аркуша ў імя аркуша прызначэння Ніжэй апошняй ячэйкі .

Зноў выкарыстоўваўся метад Род для падліку Апошняй Радок іншага аркуша з назвай Ніжэй апошняй ячэйкі і захаваў падлічаны радок у lrAnotherSheet .

Тут я выкарыстаў метад Капіяваць каб скапіяваць выбраны дыяпазон, і метад AutoFit аўтаматычна падганяе зададзеныя слупкі A:C .

Нарэшце, захавайце код і вярніцеся назад на аркуш.

Далей адкрыйце ўкладку Выгляд >> з Макрасы

Х'ю Уэст з'яўляецца вельмі дасведчаным трэнерам і аналітыкам Excel з больш чым 10-гадовым вопытам работы ў галіны. Ён мае ступень бакалаўра ў галіне бухгалтарскага ўліку і фінансаў і ступень магістра дзелавога адміністравання. Х'ю захапляецца навучаннем і распрацаваў унікальны падыход да навучання, які лёгка прытрымлівацца і зразумець. Яго экспертныя веды Excel дапамаглі тысячам студэнтаў і спецыялістаў па ўсім свеце палепшыць свае навыкі і атрымаць поспех у сваёй кар'еры. Праз свой блог Х'ю дзеліцца сваімі ведамі з усім светам, прапаноўваючы бясплатныя падручнікі па Excel і онлайн-трэнінгі, каб дапамагчы прыватным асобам і прадпрыемствам цалкам раскрыць свой патэнцыял.