Den här artikeln kommer att visa hur du använder VBA för att kopiera ett antal celler till ett annat blad eller arbetsbok.
För mer information, läs vår VBA -handbok för kopiering och klistring.
Kopiera till befintligt blad
För att kopiera ett cellintervall från ett ark till ett annat ark som redan finns kan vi använda följande kod:
123456 | Sub CopyAndPasteActiveSheet.Range ("A1: D10"). VäljUrval. KopieraArk ("Ark2"). VäljActiveSheet.PasteAvsluta Sub |
Detta kommer att kopiera informationen som lagras i det aktiva arkområdet A1: D10 och klistra in det i ett befintligt blad2. Eftersom vi inte har angett intervallet att välja i blad 2, klistrar det automatiskt in det i intervallet ("A1"). Det kommer också att klistra in vilken formatering som helst i Sheet 2 som var i intervallet i Sheet 1.
Om vi vill klistra in det på en annan plats i blad 2 kan vi välja startcellen eller intervallet att klistra in på. Koden nedan klistrar in informationen som börjar i cell E2.
1234567 | Sub CopyAndPasteToRangeActiveSheet.Range ("A1: D10"). VäljUrval. KopieraArk ("Ark2"). VäljOmråde ("E1"). VäljActiveSheet.PasteAvsluta Sub |
För att bara klistra in värdena i blad 2 och inte inkludera formateringen kan vi använda följande kod. Återigen behöver vi inte specificera intervallet till sidan om vi vill klistra in i cell A1.
123456 | Sub CopyAndPasteValuesActiveSheet.Range ("A1: D10"). VäljUrval. KopieraArk ("Ark2"). VäljSelection.PasteSpecial Paste: = xlPasteValuesAvsluta Sub |
Kopiera till nytt ark
För att kopiera och sedan klistra in i ett nytt ark kan vi använda följande kod:
123456 | Sub CopyAndPasteNewSheetActiveSheet.Range ("A1: D10"). VäljUrval. KopieraSheets.Add After: = ActiveSheetActiveSheet.PasteAvsluta Sub |
För att bara kopiera värden kan vi återigen använda xlPasteValues.
Kopiera till befintlig arbetsbok
För att kopiera och klistra in i en annan arbetsbok helt kan vi antingen ha båda arbetsböckerna redan öppna, eller så kan vi använda koden för att öppna en annan arbetsbok och sedan klistra in den i arbetsboken.
Denna kod nedan kopierar till en befintlig arbetsbok som redan är öppen.
1234567 | Sub CopyAndPasteExistingBookOmråde ("A1: D10"). VäljUrval. KopieraWindows ("CombinedBranches.xlsx"). AktiveraSheets.Add After: = ActiveSheetActiveSheet.PasteAvsluta Sub |
VBA -programmering | Kodgenerator fungerar för dig!
Denna kod nedan kommer att kopiera och klistra in i ett nytt blad i en andra arbetsbok som öppnas med koden.
1234567 | Sub CopyAndPasteOpenWorkbookOmråde ("A1: D9"). VäljUrval. KopieraWorkbooks.Open Filename: = "C: \ ExcelFiles \ CombinedBranches.xlsx"Sheets.Add After: = ActiveSheetActiveSheet.PasteSlutark |
TIPS: ersätt filnamnet i Workbooks.Open -argumentet med ditt eget filnamn!
Kopiera till ny arbetsbok
Vi kan också kopiera och klistra in i en ny arbetsbok.
123456 | Sub CopyAndPasteNewWorkbookOmråde ("A1: D9"). VäljUrval. KopieraArbetsböcker.Lägg tillActiveSheet.PasteAvsluta Sub |