Interval de còpia d'Excel VBA a un altre full (8 maneres més fàcils)

  • Comparteix Això
Hugh West

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

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.