Dit artikel laat zien hoe u VBA kunt gebruiken om een celbereik naar een ander blad of werkmap te kopiëren.
Lees voor meer informatie onze VBA-zelfstudie over kopiëren en plakken.
Kopiëren naar bestaand blad
Om een celbereik van het ene blad naar een ander blad te kopiëren dat al bestaat, kunnen we de volgende code gebruiken:
123456 | Sub Kopiëren En PlakkenActiveSheet.Bereik ("A1:D10").SelecteerSelectie.KopiërenBladen ("Blad2"). SelecteerActiveSheet.PlakkenEinde sub |
Hiermee kopieert u de informatie die is opgeslagen in het actieve bladbereik A1:D10 en plakt u deze in een bestaand Blad2. Omdat we het te selecteren bereik in Blad 2 niet hebben gespecificeerd, wordt het automatisch in Range ("A1") geplakt. Het zal ook alle opmaak in blad 2 plakken die in het bereik van blad 1 lag.
Als we het op een andere locatie in Blad 2 willen plakken, kunnen we de startcel of het beginbereik selecteren om in te plakken. De onderstaande code plakt de informatie die begint in cel E2.
1234567 | Sub KopiërenEnPlakkenToRangeActiveSheet.Bereik ("A1:D10").SelecteerSelectie.KopiërenBladen ("Blad2"). SelecteerBereik ("E1"). SelecteerActiveSheet.PlakkenEinde sub |
Om de waarden gewoon in Blad 2 te plakken en de opmaak niet op te nemen, kunnen we de volgende code gebruiken. Nogmaals, we hoeven het bereik tot de pagina niet op te geven als we in cel A1 willen plakken.
123456 | Sub CopyAndPasteValuesActiveSheet.Bereik ("A1:D10").SelecteerSelectie.KopiërenBladen ("Blad2"). SelecteerSelectie.Plakken Speciaal Plakken:=xlPasteValuesEinde sub |
Kopiëren naar nieuw blad
Om te kopiëren en vervolgens in een nieuw blad te plakken, kunnen we de volgende code gebruiken:
123456 | Sub Kopiëren En PlakkenNieuw BladActiveSheet.Bereik ("A1:D10").SelecteerSelectie.KopiërenSpreadsheets.Toevoegen na:=ActiveSheetActiveSheet.PlakkenEinde sub |
Om alleen waarden te kopiëren, kunnen we opnieuw xlPasteValues gebruiken.
Kopiëren naar bestaande werkmap
Om volledig naar een andere werkmap te kopiëren en te plakken, kunnen we beide werkmappen al open hebben, of we kunnen de code gebruiken om een andere werkmap te openen en vervolgens in die werkmap plakken.
Deze code hieronder wordt gekopieerd naar een bestaande werkmap die al is geopend.
1234567 | Sub Kopiëren En PlakkenBestaand BoekBereik ("A1:D10"). SelecteerSelectie.KopiërenWindows("CombinedBranches.xlsx").ActiverenSpreadsheets.Toevoegen na:=ActiveSheetActiveSheet.PlakkenEinde sub |
VBA-programmering | Code Generator werkt voor u!
Deze onderstaande code kopieert en plakt in een nieuw blad in een 2e werkmap die door de code wordt geopend.
1234567 | Sub KopiërenEnPlakkenOpenWerkmapBereik ("A1:D9"). SelecteerSelectie.KopiërenWorkbooks.Open Filename:= "C:\ExcelFiles\CombinedBranches.xlsx"Spreadsheets.Toevoegen na:=ActiveSheetActiveSheet.PlakkenEindblad |
TIP: vervang de naam van het bestand in de Workbooks.Open argument door je eigen bestandsnaam!
Kopiëren naar nieuwe werkmap
We kunnen ook kopiëren en plakken naar een nieuwe werkmap.
123456 | Sub Kopiëren En PlakkenNieuwe WerkmapBereik ("A1:D9"). SelecteerSelectie.KopiërenWerkmappen.ToevoegenActiveSheet.PlakkenEinde sub |