W tym artykule zademonstrujemy, jak używać VBA do kopiowania zakresu komórek do innego arkusza lub skoroszytu.
Aby uzyskać więcej informacji, przeczytaj nasz samouczek kopiowania i wklejania VBA.
Kopiuj do istniejącego arkusza
Aby skopiować zakres komórek z jednego arkusza do innego, który już istnieje, możemy użyć następującego kodu:
123456 | Podkopiuj i wklejActiveSheet.Range("A1:D10").WybierzWybór.KopiujArkusze("Arkusz2").WybierzAktywny arkusz.WklejNapis końcowy |
Spowoduje to skopiowanie informacji przechowywanych w aktywnym zakresie arkuszy A1:D10 i wklejenie ich do istniejącego arkusza2. Ponieważ nie określiliśmy zakresu do wybrania w arkuszu 2, automatycznie wklei go do zakresu („A1”). Wkleja również dowolne formatowanie do Arkusza 2, które znajdowało się w zakresie w Arkuszu 1.
Jeśli chcemy wkleić go w inne miejsce w Arkuszu 2, możemy wybrać komórkę początkową lub zakres do wklejenia. Poniższy kod wklei informacje zaczynające się w komórce E2.
1234567 | Podkopiuj i wklej do zakresuActiveSheet.Range("A1:D10").WybierzWybór.KopiujArkusze("Arkusz2").WybierzZakres ("E1"). WybierzAktywny arkusz.WklejNapis końcowy |
Aby po prostu wkleić wartości do Arkusza 2 i nie uwzględniać formatowania, możemy użyć następującego kodu. Po raz kolejny nie musimy określać zakresu do strony, jeśli chcemy wkleić do komórki A1.
123456 | Sub CopyAndPasteValuesActiveSheet.Range("A1:D10").WybierzWybór.KopiujArkusze("Arkusz2").WybierzSelection.PasteSpecial Paste:=xlPasteValuesNapis końcowy |
Kopiuj do nowego arkusza
Aby skopiować, a następnie wkleić do nowego arkusza, możemy użyć następującego kodu:
123456 | Sub CopyAndPasteNewSheetActiveSheet.Range("A1:D10").WybierzWybór.KopiujArkusze.Dodaj po:=Aktywny arkuszAktywny arkusz.WklejNapis końcowy |
Aby po prostu skopiować wartości, możemy ponownie użyć xlPasteValues.
Kopiuj do istniejącego skoroszytu
Aby całkowicie skopiować i wkleić do innego skoroszytu, możemy mieć już otwarte oba skoroszyty lub możemy użyć kodu, aby otworzyć inny skoroszyt, a następnie wkleić do tego skoroszytu.
Poniższy kod kopiuje do istniejącego skoroszytu, który jest już otwarty.
1234567 | Podkopiuj i wklejIstniejącaksiążkaZakres ("A1:D10").WybierzWybór.KopiujWindows("PołączoneGałęzie.xlsx").AktywujArkusze.Dodaj po:=Aktywny arkuszAktywny arkusz.WklejNapis końcowy |
Programowanie VBA | Generator kodu działa dla Ciebie!
Poniższy kod skopiuje i wklei do nowego arkusza w drugim skoroszycie, który zostanie otwarty przez kod.
1234567 | Sub CopyAndPasteOpenWorkbookZakres ("A1:D9").WybierzWybór.KopiujWorkbooks.Open Filename:= "C:\ExcelFiles\CombinedBranches.xlsx"Arkusze.Dodaj po:=Aktywny arkuszAktywny arkusz.WklejArkusz końcowy |
WSKAZÓWKA: zastąp nazwę pliku w argumencie Workbooks.Open własną nazwą pliku!
Kopiuj do nowego skoroszytu
Możemy również skopiować i wkleić do nowego skoroszytu.
123456 | Sub KopiujIWklejNowyZeszytZakres ("A1:D9").WybierzWybór.KopiujSkoroszyty.DodajAktywny arkusz.WklejNapis końcowy |