Прескочи на основното съдържание

Как да копирате множество селекции или диапазони в Excel?

Автор: Xiaoyang Последна промяна: 2020-04-30

Например, имате голям работен лист и сега искате да копирате само някои избрани диапазони и да ги разпределите в други работни листове. Но когато изберете множество диапазони и щракнете върху копиране, ще има диалогов прозорец с подкана, който да ви напомни „Тази команда не може да се използва за множество селекции“. При това състояние, как бързо копирате няколко избрани диапазона? Ето няколко трика за решаване на тази задача.


Копирайте множество избрани диапазони с клипборда

С помощта на Клипборда, можете да поставите всички избрани диапазони в друг диапазон или работен лист наведнъж. Моля, направете следното:

1. Щракнете Начало > doc копиране на множество диапазони 09 в Клипборда група за показване на Клипборда Хляб.. Вижте екранна снимка:

2. След това копирайте избраните диапазони, които ви трябват един по един. В същото време копираните диапазони се появяват в Клипборда Хляб. вижте екранната снимка по-горе:

3. Изберете първата клетка от целевия диапазон, в който ще поставите всички копирани диапазони, и щракнете Поставете всички бутон в Клипборда Прозорец.

След това всички копирани диапазони са поставени в посочения целеви диапазон.

Комбинирайте лесно множество селекции от много работни листове/работни книги в един работен лист/работна книга

Може да е досадно да комбинирате десетки листове от различни работни книги в един лист. Но с Kutools за Excel Комбинирайте (работни листове и работни тетрадки) помощна програма, можете да го направите само с няколко кликвания!


реклама комбиниране на листове книги 1

Kutools за Excel - Заредете Excel с над 300 основни инструмента. Насладете се на пълнофункционален 30-дневен БЕЗПЛАТЕН пробен период без кредитна карта! Вземи Го Сега

Копирайте множество избрани диапазони с VBA код

С VBA код можете също да копирате множество избрани диапазони и да ги поставите във всеки друг работен лист.

1, Задържане на Ctrl и изберете множество несъседни диапазони, които искате да използвате.

2, Натиснете Друг + F11 ключове едновременно, за да отворите Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Модулии въведете следния код в модула:

Option Explicit Sub CopyMultipleSelection() Dim SelAreas() As Range Dim PasteRange As Range Dim UpperLeft As Range Dim NumAreas As Integer, i As Integer Dim TopRow As Long, LeftCol As Integer Dim RowOffset As Long, ColOffset As Integer Dim NonEmptyCellCount As Integer ' Изход ако диапазон не е избран If TypeName(Selection) < > "Range" Then MsgBox "Изберете диапазона за копиране. Разрешен е множествен избор." Exit Sub End If ' Съхранявайте областите като отделни обекти Range NumAreas = Selection.Areas.Count ReDim SelAreas(1 To NumAreas) For i = 1 To NumAreas Set SelAreas(i) = Selection.Areas(i) Next ' Определете горния ляв клетка в множествената селекция TopRow = ActiveSheet.Rows.Count LeftCol = ActiveSheet.Columns.Count For i = 1 To NumAreas If SelAreas(i).Row < TopRow Then TopRow = SelAreas(i).Row If SelAreas(i).Column < LeftCol Then LeftCol = SelAreas(i).Column Next Set UpperLeft = Cells(TopRow, LeftCol) ' Вземете адреса за поставяне При грешка Resume Next Set PasteRange = Application.InputBox _ (Prompt:="Посочете горната лява клетка за поставяне range:", _ Title:="Copy Mutliple Selection", _ Type:=8) При грешка GoTo 0 ' Изход, ако е отменено If TypeName(PasteRange) < > "Range" Then Exit Sub ' Уверете се, че само горната лява клетка е използвано Set PasteRange = PasteRange.Range("A1") ' Проверете диапазона на поставяне за съществуващи данни NonEmptyCellCount = 0 For i = 1 To NumAreas RowOffset = SelAreas(i).Row - TopRow ColOffset = SelAreas(i).Column - LeftCol NonEmptyCellCount = NonEmptyCellCount + _ Application.CountA(Range(PasteRange.Offset(RowOffset, ColOffset), _ PasteRange.Offset(RowOffset + SelAreas(i).Rows.Count - 1, _ ColOffset + SelAreas(i).Columns.Count - 1) )) Следващ i ' Ако диапазонът за поставяне не е празен, предупреждава потребителя If NonEmptyCellCount < > 0 Then _ If MsgBox("Презаписване на съществуващи данни?", vbQuestion + vbYesNo, _ "Копиране на множествена селекция") < > vbYes Then Exit Sub ' Копиране и поставете всяка област For i = 1 To NumAreas RowOffset = SelAreas(i).Row - TopRow ColOffset = SelAreas(i).Column - LeftCol SelAreas(i).Copy PasteRange.Offset(RowOffset, ColOffset) Next i End Sub

3, След това кликнете върху бягане бутон за изпълнение на кода.

4. А сега, моля, посочете клетка, за да поставите диапазоните в отварянето Копиране на множество селекции диалогов прозорец и щракнете върху OK бутон. Вижте екранна снимка:


Бързо копирайте множество избрани диапазони от един работен лист

- Копиране на множество диапазони полезност на Kutools за Excel може да ви помогне лесно да копирате бързо множество диапазони от активния работен лист. Моля, направете следното:

Kutools за Excel - Заредете Excel с над 300 основни инструмента. Насладете се на пълнофункционален 30-дневен БЕЗПЛАТЕН пробен период без кредитна карта! Вземи Го Сега

1. Изберете диапазоните, които искате да използвате един по един, без да задържате Ctrl и след това щракнете Kutools > Копиране на диапазони. Вижте екранна снимка:

2. В Копиране на множество диапазони диалогов прозорец, проверете Всички опция от Залепете специално и кликнете върху Добре бутън. Вижте екранната снимка по-горе:

Забележка: Ако искате да запазите височината на реда и ширината на колоната като оригиналните диапазони, моля, проверете Включително височина на реда опция и Включително ширина на колоната опция в диалоговия прозорец Копиране на множество диапазони.

3. И посочете клетка, за да поставите диапазоните в следното поле за подкана, и щракнете върху OK бутон.

И сега всички избрани диапазони ще бъдат поставени в посочената клетка като същата височина на реда и ширина на колоната като оригиналните селекции.

Щракнете тук за повече информация относно помощната програма за копиране на множество диапазони       

Kutools за Excel - Заредете Excel с над 300 основни инструмента. Насладете се на пълнофункционален 30-дневен БЕЗПЛАТЕН пробен период без кредитна карта! Вземи Го Сега


Копирайте множество диапазони от много работни листове/работни книги

Kutools за Excel предоставя друго Комбинирайте работни листове помощна програма за лесно копиране на множество диапазони от много работни листове или много работни книги в Excel. Моля, направете следното:

Kutools за Excel - Заредете Excel с над 300 основни инструмента. Насладете се на пълнофункционален 30-дневен БЕЗПЛАТЕН пробен период без кредитна карта! Вземи Го Сега

1. кликване Kutools плюс > Комбинирам.

2. В диалоговия прозорец Комбиниране на работни листове – стъпка 1 от 3, моля, проверете Комбинирайте няколко работни листа от работна книга в един работен лист и щракнете върху Напред бутон.

3. В диалоговия прозорец Комбиниране на работни листове – стъпка 2 от 3, моля, направете следното:

(1) Изберете работната книга в Списък с работни книги и след това щракнете върху паса бутон зад всеки работен лист, за да посочите диапазона от всеки работен лист;
(2) Щракнете върху Добави бутон, за да добавите други работни книги, от които ще копирате диапазони, и след това повторете по-горе (1), за да посочите диапазони в добавената работна книга.
(3) Щракнете върху завършеност бутон.

Kutools за Excel - Заредете Excel с над 300 основни инструмента. Насладете се на пълнофункционален 30-дневен БЕЗПЛАТЕН пробен период без кредитна карта! Вземи Го Сега

4. След това излиза диалогов прозорец Kutools за excel и пита за запазване на комбинирания сценарий. Моля, щракнете върху Да или Не бутон, колкото ви трябва.

Досега всички посочени диапазони от множество работни листове или работни книги са копирани и поставени в нова работна книга.


Демонстрация: Копирайте множество избрани диапазони от един работен лист

Демонстрация: Копирайте множество избрани диапазони от много работни книги/работни листове


Kutools за Excel: Над 300 удобни инструмента на една ръка разстояние! Започнете своя 30-дневен безплатен пробен период без ограничения на функциите днес. Свали сега!

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (14)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi there,
Great code but wondered how I can paste values rather than just paste?
Thanks :)
This comment was minimized by the moderator on the site
Hi there,
Great post and the VBA code works perfectly. Is it possible to change the code to paste special > values? If so, how?
Thanks!
This comment was minimized by the moderator on the site
Hi. Nice code, works great. Is it possible to modify the code in a way such that it is possible to insert/paste the market row/ranges multiple times instead of just one time?
This comment was minimized by the moderator on the site
Hi Jacob,
Maybe this Insert Title Rows feature of Kutools for Excel can solve your problem.
https://www.extendoffice.com/product/kutools-for-excel/excel-insert-title-rows.html
This comment was minimized by the moderator on the site
Hi! How do I use the same VBA Code above but instead of simply pasting, I would like it to paste special for just the values. The table I am putting the values (constants) into is already formatted and with totals (formulas)
Thanks so much in advance!
This comment was minimized by the moderator on the site
Hi Katrina Manahan,

Please open the Microsoft Visual Basic for applications window, and create a new Module, just press CTRL + V to paste the VBA code directly. The sequence numbers before code won't be pasted.
This comment was minimized by the moderator on the site
Thanks for the code, works perfectly. This odd lack of function within Excel has stumped me many times in the past. It's normally quicker in the end to work around it, but in this case I have 4000 individually colour-coded cells so any work-around would have taken a long time, so I'm very grateful. Steve
This comment was minimized by the moderator on the site
Hi, Is it possible to adjust the code so that the copied cells can be pasted in another sheet? Now I get the error message "400" when I attempt this. I use Office 2010. Also, is it possible to copy so that empty lines are deleted? I have a big document and I copy some cells with hundreds of non-copied rows between them. This makes for a rather bulky output.
This comment was minimized by the moderator on the site
I found that if you have the Clipboard task plane open you can copy multiple rows simply using ctrl+C and paste them in order with crtl+V using Excel 2007.
This comment was minimized by the moderator on the site
Thank you SOOOOOO much - what a great site
This comment was minimized by the moderator on the site
Found above explanation of options to copy multiple ranges very helpful - thanks! I used the 'clipboard' option to copy multiple rows. Had to select each group of consecutive rows and copy it, move on and select next row or group of consecutive rows and copy it, etc.. But after this its easy, go to where you want to paste them, eg a new sheet, and click 'Paste all' from the Clipboard and all the rows are copied to there with out any gaps! Exactly what I wanted - thanks again!
This comment was minimized by the moderator on the site
I want to select the rows like 1, 5,6,10. so how can i copy these rows ???
This comment was minimized by the moderator on the site
In this case you can just select the rows and copy them as usual.
This comment was minimized by the moderator on the site
How can I copy cell a1, e5, g2, and so on.... (more than 1000 cells in same column) and paste them into b1, f5, h2 (right into the next column in same row.)
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations