Змест
Кожны раз, калі вам спатрэбіцца, вы можаце скапіяваць дыяпазон з аднаго аркуша на іншы аркуш або кнігу. Існуюць розныя тыпы капіявання і ўстаўкі. Пасля гэтага артыкула вы пазнаёміцеся з рознымі спосабамі выкарыстання дыяпазону капіравання 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 .
Нарэшце, захавайце код і вярніцеся назад на аркуш.
Далей адкрыйце ўкладку Выгляд >> з Макрасы