Acest articol va arăta cum să utilizați VBA pentru a copia o gamă de celule pe altă foaie sau registru de lucru.
Pentru mai multe informații, citiți Tutorialul nostru de copiere și lipire VBA.
Copiați în foaia existentă
Pentru a copia o gamă de celule de la o foaie la alta, care există deja, putem folosi următorul cod:
123456 | Sub CopyAndPasteActiveSheet.Range („A1: D10”). SelectațiSelecție.CopieFoi („Sheet2”). SelectațiActiveSheet.PasteSfârșitul Sub |
Aceasta va copia informațiile stocate în gama de foi active A1: D10 și le va lipi într-o foaie2 existentă. Deoarece nu am specificat intervalul de selectat în Foaia 2, acesta îl va lipi automat în Range („A1”). De asemenea, va lipi orice formatare în foaia 2 care se afla în intervalul din foaia 1.
Dacă dorim să-l lipim într-o altă locație în Foaia 2, putem selecta celula de pornire sau intervalul în care să lipim. Codul de mai jos va lipi informațiile începând cu celula E2.
1234567 | Sub CopyAndPasteToRangeActiveSheet.Range ("A1: D10"). SelectațiSelecție.CopieFoi („Sheet2”). SelectațiRange ("E1"). SelectațiActiveSheet.PasteSfârșitul Sub |
Pentru a lipi doar valorile în foaia 2 și a nu include formatarea, putem folosi următorul cod. Încă o dată, nu trebuie să specificăm intervalul până la pagină dacă dorim să lipim în celula A1.
123456 | Sub CopyAndPasteValuesActiveSheet.Range („A1: D10”). SelectațiSelecție.CopieFoi („Sheet2”). SelectațiSelecție.PasteSpecial Paste: = xlPasteValuesSfârșitul Sub |
Copiați pe foaia nouă
Pentru a copia și apoi lipi într-o foaie nouă, putem folosi următorul cod:
123456 | Sub CopyAndPasteNewSheetActiveSheet.Range („A1: D10”). SelectațiSelecție.CopieSheets.Add After: = ActiveSheetActiveSheet.PasteSfârșitul Sub |
Pentru a copia doar valorile, putem folosi din nou xlPasteValues.
Copiați în registrul de lucru existent
Pentru a copia și lipi în întregime într-un alt registru de lucru, putem avea fie ambele registre de lucru deja deschise, fie putem folosi codul pentru a deschide un alt registru de lucru, apoi lipiți în acel registru de lucru.
Acest cod de mai jos se copiază într-un registru de lucru existent care este deja deschis.
1234567 | Sub CopyAndPasteExistingBookGama ("A1: D10"). SelectațiSelecție.CopieWindows („CombinedBranches.xlsx”). ActivațiSheets.Add After: = ActiveSheetActiveSheet.PasteSfârșitul Sub |
Programare VBA | Generatorul de coduri funcționează pentru dvs.!
Acest cod de mai jos va copia și lipi într-o foaie nouă într-un al doilea registru de lucru care va fi deschis de cod.
1234567 | Sub CopyAndPasteOpenWorkbookInterval ("A1: D9"). SelectațiSelecție.CopieWorkbooks.Open File name: = "C: \ ExcelFiles \ CombinedBranches.xlsx"Sheets.Add After: = ActiveSheetActiveSheet.PasteFoaie finală |
SFAT: înlocuiți numele fișierului în Workbooks.Deschideți argumentul cu propriul nume de fișier!
Copiați în noul registru de lucru
De asemenea, putem copia și lipi într-un nou registru de lucru.
123456 | Sub CopyAndPasteNewWorkbookInterval ("A1: D9"). SelectațiSelecție.CopieCărți de lucru.AdăugareActiveSheet.PasteSfârșitul Sub |