Тази статия ще покаже как да използвате VBA за копиране на диапазон от клетки в друг лист или работна книга.
За повече информация прочетете нашия урок за копиране и поставяне на VBA.
Копиране в съществуващ лист
За да копирате диапазон от клетки от един лист на друг лист, който вече съществува, можем да използваме следния код:
123456 | Подкопиране и поставянеActiveSheet.Range ("A1: D10"). ИзберетеИзбор. КопиранеЛистове („Лист2“). ИзберетеActiveSheet.PasteEnd Sub |
Това ще копира информацията, съхранявана в активния диапазон на листове A1: D10, и ще я постави в съществуващ Sheet2. Тъй като не сме посочили диапазона за избор в лист 2, той автоматично ще го постави в диапазон („A1“). Той също така ще постави всяко форматиране в лист 2, което е в диапазона в лист 1.
Ако искаме да го поставим на различно място в лист 2, можем да изберем началната клетка или диапазон, в който да поставим. Кодът по -долу ще постави информацията, започваща в клетка E2.
1234567 | Sub CopyAndPasteToRangeActiveSheet.Range ("A1: D10"). ИзберетеИзбор. КопиранеЛистове („Лист2“). ИзберетеОбхват ("E1"). ИзберетеActiveSheet.PasteEnd Sub |
За да поставим просто стойностите в лист 2 и да не включваме форматирането, можем да използваме следния код. Още веднъж, не е нужно да посочваме диапазона до страница, ако искаме да поставим в клетка A1.
123456 | Sub CopyAndPasteValuesActiveSheet.Range ("A1: D10"). ИзберетеИзбор. КопиранеЛистове („Лист2“). ИзберетеSelection.PasteSpecial Paste: = xlPasteValuesEnd Sub |
Копиране в нов лист
За да копирате и след това да поставите в нов лист, можем да използваме следния код:
123456 | Sub CopyAndPasteNewSheetActiveSheet.Range ("A1: D10"). ИзберетеИзбор. КопиранеЛистове. Добавяне след: = ActiveSheetActiveSheet.PasteEnd Sub |
За да копираме само стойности, можем отново да използваме xlPasteValues.
Копирайте в съществуваща работна книга
За да копирате и поставите изцяло в друга работна книга, можем или да имаме вече отворени двете работни книги, или можем да използваме кода, за да отворим друга работна книга, и след това да поставим в тази работна книга.
Този код по -долу се копира в съществуваща работна книга, която вече е отворена.
1234567 | Sub CopyAndPasteExistingBookОбхват ("A1: D10"). ИзберетеИзбор. КопиранеWindows ("CombinedBranches.xlsx"). АктивирайтеЛистове. Добавяне след: = ActiveSheetActiveSheet.PasteEnd Sub |
VBA програмиране | Code Generator работи за вас!
Този код по -долу ще копира и постави в нов лист във втора работна книга, която ще бъде отворена от кода.
1234567 | Sub CopyAndPasteOpenWorkbookОбхват ("A1: D9"). ИзберетеИзбор. КопиранеРаботни книги. Отворете Име на файл: = "C: \ ExcelFiles \ CombinedBranches.xlsx"Листове. Добавяне след: = ActiveSheetActiveSheet.PasteКраен лист |
СЪВЕТ: заменете името на файла в работните книги. Отворете аргумента със собственото си име на файл!
Копиране в нова работна книга
Можем също да копираме и поставяме в нова работна книга.
123456 | Sub CopyAndPasteNewWorkbookОбхват ("A1: D9"). ИзберетеИзбор. КопиранеРаботни книгиActiveSheet.PasteEnd Sub |