Taula de continguts
Sempre que ho necessiteu, podeu copiar un interval d'un full a un altre full o llibre de treball. Hi ha diferents tipus de copiar i enganxar. Després d'aquest article, coneixeràs diferents maneres d'utilitzar l'interval de còpia d'Excel VBA a un altre full.
Per fer l'explicació viva, faré servir un conjunt de dades de mostra que representa la informació personal de persones concretes. . El conjunt de dades té 4 columnes. Aquestes columnes són Noms, Cognoms, Nom complet, i Correu electrònic .
Baixeu el llibre de treball per practicar
VBA Copia l'interval a un altre full.xlsm
8 maneres de copiar l'interval VBA d'Excel a un altre full
1. Copieu un interval a un altre full amb format
Sempre que vulgueu copiar un interval d'un full a un altre amb format , podeu fer-ho simplement utilitzant el VBA .
Aquí, Copiaré un interval des del Dataset full a WithFormat full.
Comencem el procediment,
Primer, obriu la pestanya Desenvolupador >> seleccioneu Visual Basic
També podeu utilitzar el teclat ALT + F11 per obrir el VBA editor.
A continuació, s'obrirà una finestra nova anomenada Microsoft Visual Basic for Applications.
A partir d'aquí, obriu Insereix >> seleccioneu Mòdul .
S'obrirà un Mòdul i, a continuació, escriviu el codi següent a la finestra oberta >> seleccioneu Mostra les macros
➤ Apareixerà un quadre de diàleg .
Ara, des del Nom de la macro seleccioneu Copy_Range_BelowLastCell_AnotherSheets també seleccioneu el llibre de treball dins de Macros in .
Finalment, Executar la macro seleccionada.
Per tant, copiarà l'interval seleccionat i l' enganxarà des de l'última fila d'un altre full. .
8. VBA Copia un rang a l'última fila d'un altre llibre de treball
Si vols Copiar un interval fins a l'última fila d'un altre full de llibre, també podeu utilitzar el VBA .
Aquí, Copiaré un interval de Dataset2 full a Full1 del Llibre2 però des de la primera cel·la no en blanc.
Per iniciar el procediment,
Primer, obriu la pestanya Desenvolupador >> seleccioneu Visual Basic
També podeu utilitzar el teclat ALT + F11 per obrir l'editor VBA .
A continuació, s'obrirà una finestra nova de Microsoft Visual Basic for Applications.
Des d'allà, obriu Insereix >> seleccioneu Mòdul .
S'obrirà un Mòdul i escriviu el codi següent al mòdul obert.
2359
Aquí, he declarat el Sub procediment Copy_Range_BelowLastCell_To_Another_Workbook on wsCopy i wsDestination són Tipus de full de treball , lCopyLastRow i lDestLastRow són de tipus Llarg .
Primer, s'utilitza Estableix per establir variables per al full a copiar i el full de destinació.
A continuació, va utilitzar el mètode Fila per trobar l'última fila basant-se en les dades de la columna A a l'interval de còpia.
De nou, va utilitzar el mètode Fila per trobar la primera fila en blanc basant-se en les dades de la columna A a l'interval de destinació també s'utilitza Desplaçament per moure una propietat cap avall.
Finalment, Copiat les dades del full Dataset2 del Excel VBA Copy Range to Another Sheet.xlsm del llibre de treball a la destinació Sheet1 del llibre de treball Book2.xlsx .
Ara, Deseu el codi i torneu al full de treball.
A continuació, obriu la pestanya Visualitza >> de Macros >> seleccioneu Mostra les macros
➤ Apareixerà un quadre de diàleg .
Ara, des del Nom de la macro , seleccioneu el Copy_Range_BelowLastCell_To_Another_Workbook també seleccioneu el llibre de treball dins de Macros in .
Finalment, Executar la macro seleccionada.
Per tant, copiarà l'interval seleccionat des del full existent a l'última fila d'un altre llibre de treball.
Secció de pràctiques
He proporcionat un full de pràctiques al llibre de treball per practicar aquestes maneres explicades de l'interval de còpia VBA d'Excel a un altre full.
Conclusió
En aquest article, he explicat 8 tipus diferents de maneres fàcils i ràpides deCopieu l'interval VBA d'Excel a un altre full. Aquestes diferents maneres us ajudaran a copiar un rang d'un full a un altre i també d'un full a un altre llibre de treball. Per últim, però no menys important, si teniu algun tipus de suggeriment, idees i comentaris, no dubteu a comentar a continuació.
Mòdul.8720
Aquí, he declarat el Subprocediment Copy_Range_withFormat_ToAnother_Sheet
He pres l'interval B1:E10 per copiar des del full existent al nom del full AmbFormat .
Aquí he utilitzat Copia mètode per copiar l'interval seleccionat, el mètode Copia copia qualsevol interval amb Format .
Finalment, Desa el codi i torna al full de treball .
A continuació, obriu la pestanya Visualitza >> de Macros >> seleccioneu Mostra les macros
➤ Apareixerà un quadre de diàleg .
Ara, des del Nom de la macro seleccioneu el Copy_Range_withFormat_ToAnother_Sheet també seleccioneu el llibre de treball a Macros in .
Finalment, Executar la macro seleccionada.
Per tant, copiarà l'interval seleccionat amb Format al nou full que he seleccionat ( AmbFormat) .
2. VBA Copia un rang a un altre full sense format
També és és possible Copiar un rang a un altre full sense Format mitjançant el VBA .
Aquí, Copiaré un interval des de Full de conjunt de dades fins a WithoutFormat full.
Comencem el procediment,
Ara, obriu el Desenvolupador pestanya >> seleccioneu Visual Basic ( utilitzeu ALT + F11)
A continuació, s'obrirà Microsoft Visual Basic per a aplicacions.
A continuació, obriu Insereix >> seleccioneu Mòdul .
S'obrirà un Mòdul i escriviu el codi següent al mòdul obert.
8322
Aquí, he declarat el Sub procediment Copy_Range_WithoutFormat_Toanother_Sheet
He pres l'interval B1:E10 per copiar del full existent al nom del full WithoutFormat .
Aquí he utilitzat el mètode Copia per copiar l'interval seleccionat, però també esmentat Paste:=xlPasteValues al mètode PasteSpecial de manera que només enganxarà Valors de l'interval seleccionat, no el format.
Finalment. , Deseu el codi i torneu al full de treball.
A continuació, obriu la pestanya Visualitza >> de Macros >> seleccioneu Mostra les macros
➤ Apareixerà un quadre de diàleg .
Ara, des del Nom de la macro seleccioneu Copy_Range_WithoutFormat_Toanother_Sheet i també seleccioneu el llibre de treball dins de Macros in .
Finalment, Executeu la macro seleccionada.
Així, copiarà l'interval seleccionat només amb Valors sense Format .
3. Copieu un rang a un altre full amb format i amplada de columna
De vegades potser voldreu Copieu qualsevol interval seleccionat tal com és, per a això podeu copiar un interval amb Format i Amplada de columna .
Aquí, Copiaré un interval des del full Conjunt de dades a Format i amp; Amplada de la columna full.
Per veure el procediment per fer la tasca amb VBA ,
Primer, obriu la pestanya Desenvolupador >> seleccioneu Visual Basic
També podeu utilitzar el teclat ALT + F11 per obrir l'editor VBA .
A continuació, s'obrirà una finestra nova de Microsoft Visual Basic for Applications.
Allà, obriu Insereix >> seleccioneu Mòdul .
S'obrirà un Mòdul i escriviu el codi següent al mòdul obert.
6273
Aquí, he declarat el Sub procediment Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth
He pres l'interval B1:E10 per copiar des del full existent al nom del full de destinació Format & Amplada de columna .
Aquí he utilitzat el mètode Copia per copiar l'interval seleccionat. També vaig utilitzar el mètode PasteSpecial on he esmentat Paste:=xlPasteColumnWidths perquè enganxi l'interval seleccionat juntament amb Format i Column Width .
Finalment, Deseu el codi i torneu al full de treball.
A continuació, obriu la pestanya Visualitza >> de Macros >> seleccioneu Mostra les macros
➤ Apareixerà un quadre de diàleg .
Ara, des del Nom de la macro seleccioneu Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth i també seleccioneu el llibre de treball a Macros in .
Finalment, Executeu el seleccionat Macro .
Com a resultat, copiarà l'interval seleccionat amb Format i Amplada de la columna .
4. VBA Copia un rang a un altre full amb fórmula
En cas que tingueu alguna fórmula al vostre conjunt de dades que vulgueu copiar. No et preocupis! Podeu copiar l'interval que conté Fórmula a un altre full mantenint la fórmula intacta.
Aquí, Copiaré un interval del Full de dades a Amb Fórmula full
Comencem el procediment,
Per començar, obriu la pestanya Desenvolupador >> seleccioneu Visual Basic ( també podeu utilitzar el teclat ALT + F11 )
A continuació, obrirà Microsoft Visual Basic per a aplicacions.
Des d'allà, obriu Insereix >> seleccioneu Mòdul .
S'obrirà un Mòdul i escriviu el codi següent al mòdul obert.
1288
Aquí, he declarat el Sub procediment Copy_Range_withFormula_ToAnother_Sheet
He pres l'interval B1:E10 per copiar des del full existent al nom del full de destinació WithFormula .
Aquí he utilitzat el mètode Copia per copiar l'interval seleccionat. També vaig utilitzar el mètode PasteSpecial on he esmentat Paste:=xlPasteFormulas perquè contingui les Formules juntament amb l'interval seleccionat.
Finalment. , Deseu el codi i torneu al full de treball.
A continuació, obriu la Visualització pestanya >> de Macros >> seleccioneu Mostra les macros
➤ Apareixerà un quadre de diàleg .
Ara, des del Nom de la macro seleccioneu Copy_Range_withFormula_ToAnother_Sheet també seleccioneu el llibre de treball a Macros in .
Finalment, Executar la Macro seleccionada.
Així, copiarà tots els intervals de cel·les seleccionats amb Fórmules .
Lectures similars:
- Com utilitzar el desplaçament de rang VBA (11 maneres)
- VBA per a cada cel·la de l'interval a Excel (3 mètodes)
- Com utilitzar l'objecte d'interval de VBA a Excel (5 propietats)
5. Copieu un interval amb ajust automàtic a un altre full
Mentre copieu un interval a un altre full, també podeu utilitzar el mètode ajust automàtic al VBA a AutoFit l'interval copiat al full nou.
Aquí, Copiaré un interval de Dataset full a ajust automàtic full
Comencem el procediment,
Primer, obriu la pestanya Desenvolupador >> seleccioneu Visual Basic
També podeu utilitzar el teclat ALT + F11 per obrir l'editor VBA .
A continuació, obrirà una finestra de Microsoft Visual Basic for Applications.
A continuació, obriu Insereix > ;> seleccioneu Mòdul .
S'obrirà un Mòdul i, a continuació, escriviu el codi següent a la finestra oberta Mòdul .
3451
Aquí, he declarat el Sub procediment Copy_Range_withFormat_AutoFit
Primer, vaig seleccionar el full de treball Conjunt de dades . A continuació, vaig agafar l'interval B1:E10 per copiar des del full existent al full de destinació anomenat AutoFit .
Aquí, he utilitzat Copia per copiar l'interval seleccionat i el mètode AutoFit ajustarà automàticament les columnes donades B:E .
Finalment, Deseu el codi i aneu torna al full de treball.
A continuació, obriu la pestanya Visualitza >> de Macros >> seleccioneu Mostra les macros
➤ Apareixerà un quadre de diàleg .
Ara, des del Nom de la macro seleccioneu Copy_Range_withFormat_AutoFit també seleccioneu el llibre de treball dins de Macros in .
Finalment, Executar la macro seleccionada.
Per tant, copiarà l'interval seleccionat en un full nou i també ajusta automàticament les columnes.
6. VBA Copiar un interval a un altre llibre
Si voleu, també podeu Copiar un interval d'un full a un altre full d'un llibre de treball diferent.
Aquí, Copiaré un interval des del Full de dades al Full1 del Llibre1 llibre de treball.
Comencem el procediment,
Primer, obriu la pestanya Desenvolupador >> seleccioneu Visual Basic (i també podeu utilitzar el teclat ALT + F11 )
A continuació, obrirà Microsoft VisualBàsica per a aplicacions.
A continuació, obriu Insereix >> seleccioneu Mòdul .
S'obrirà un Mòdul i escriviu el codi següent al mòdul obert.
3179
Aquí, he declarat el Sub procediment Copy_Range_WithFormat_Toanother_WorkBook
He pres l'interval B3:E10 del nom del full Conjunt de dades per copiar des del full existent al nom del llibre de treball nou Llibre1 i nom del full Full1 .
Aquí, he utilitzat el mètode Copia per copiar l'interval seleccionat al nou llibre de treball.
Finalment, Desa el codi i torna al full de treball.
A continuació, obriu la pestanya Visualitza >> de Macros >> seleccioneu Mostra les macros
➤ Apareixerà un quadre de diàleg .
Ara, des del Nom de la macro seleccioneu Copy_Range_WithFormat_Toanother_WorkBook també seleccioneu el llibre de treball dins de Macros in .
Finalment, Executar la macro seleccionada.
Ara, copiarà l'interval seleccionat del full de dades a un altre llibre de treball.
7. Copieu un rang a l'última fila d'un altre full
En qualsevol cas, si voleu copiar un rang a un altre full des d'una cel·la concreta o de l'última cel·la ho podeu fer mitjançant el VBA .
Abans d'entrar en el procediment, vull dir-vos que, he agafat dos fulls nous formats per Nom complet, correu electrònic, i Adreça .
Primer observem el full Dataset2 .
Aquí hi ha el full A sota de l'última cel·la .
Aquí, Copiaré un interval de Full de dades2 a Sota l'última cel·la però des de la primera cel·la que no està en blanc.
Per començar, obriu la pestanya Desenvolupador >> seleccioneu Visual Basic
A continuació, s'obrirà Microsoft Visual Basic per a aplicacions.
A continuació, obriu Insereix >> seleccioneu Mòdul .
S'obrirà un Mòdul i escriviu el codi següent al mòdul obert.
3015
Aquí, vaig declarar el Sub procediment Copy_Range_BelowLastCell_AnotherSheets
Primer, vaig seleccionar el full Conjunt de dades2 i després va utilitzar el mètode Fila per comptar la Darrera fila i va mantenir la fila comptada a lr .
A continuació, es va prendre el rang A2:C & lr per copiar des del full existent al nom del full de destinació Sota l'última cel·la .
Un cop més, heu utilitzat el mètode Fila per comptar el últim Fila d'un altre full anomenat A sota de l'última cel·la i vaig mantenir la fila comptada a lrAnotherSheet .
Aquí he utilitzat el mètode Copia per copiar l'interval seleccionat i el mètode AutoFit ajustarà automàticament les columnes donades A:C .
Finalment, Deseu el codi i torneu enrere al full de treball.
A continuació, obriu la pestanya Visualitza >> de Macros