Copier VBA - Principales façons de copier et coller dans VBA (avec des exemples)

Copier Coller dans VBA est similaire à ce que nous faisons dans la feuille de calcul Excel, comme nous pouvons copier une valeur et la coller dans une autre cellule, nous pouvons également utiliser coller spécial pour coller uniquement les valeurs, de même dans VBA, nous utilisons la méthode de copie avec la propriété de plage pour copiez une valeur d'une cellule à l'autre et pour coller la valeur, nous utilisons la fonction de feuille de calcul coller spéciale ou la méthode coller.

Comment copier de la pâte dans VBA?

Vous trouverez ci-dessous quelques exemples de copier-coller dans Excel à l'aide de VBA.

La chose de base que nous faisons dans Excel est de copier, de couper et de coller les données d'une cellule dans une autre cellule. Il ne nécessite pas non plus d'introduction particulière. Cependant, tout en apprenant le codage VBA, il est important de comprendre le même concept dans le langage de codage. Copier Coller dans VBA est la tâche de routine que nous effectuons au jour le jour dans Excel. Afin de copier d'abord, nous devons décider quelle cellule copier.

Exemple # 1 - Copier et coller des valeurs à l'aide d'un objet Range

Supposons que vous ayez le mot «Excel VBA» dans la cellule A1.

Disons, par exemple, si vous souhaitez copier la cellule A1, nous pouvons utiliser l'objet VBA RANGE.

Code:

Sub Copy_Example () Range ("A1"). End Sub

Au moment où vous référencez la cellule, nous pouvons voir toutes les propriétés et méthodes avec elle. Sélectionnez donc la méthode " Copier".

Code:

Sub Copy_Example () Range ("A1"). Copy End Sub

Après avoir sélectionné la méthode, appuyez sur la touche espace pour voir l'argument de la méthode Copy.

Il dit Destination.

Ce n'est rien, mais où voulez-vous copier-coller des valeurs dans VBA sans sélectionner la méthode PASTE.

Si nous collons dans la même feuille, nous pouvons sélectionner la cellule à l'aide de l'objet Range. Disons que si nous voulons coller la valeur dans la cellule B3, nous pouvons mettre la destination en tant que "Range (" B3 ")."

Code:

Sub Copy_Example () Range ("A1"). Copy Destination: = Range ("B3") End Sub

Cela copiera les données de la cellule A1 et les collera dans la cellule B3.

Nous pouvons également utiliser la méthode ci-dessous pour coller les données.

Code:

Sub Copy_Example () Range ("A1"). Copy Range ("B3"). Sélectionnez ActiveSheet.Paste End Sub

Tout d'abord, nous allons copier et sélectionner les données de la cellule A1 et les coller dans la cellule B3.

Exemple # 2 - Copier dans une autre feuille de calcul dans le même classeur

Maintenant, si nous voulons copier-coller la valeur des différentes feuilles de calcul à l'aide de la macro VBA, dans l'argument Destination, nous devons référencer le nom de la feuille en utilisant l'objet WORKSHEETS, puis mentionner la plage de cellules dans cette feuille de calcul. Le code ci-dessous fera l'affaire.

Code:

Sub Copy_Example () Range ("A1"). Copy Destination: = Worksheets ("Sheet2"). Range ("B3") End Sub

Si nous voulons copier les données d'une feuille particulière et que nous voulons coller dans une autre feuille particulière, nous devons mentionner à la fois les noms des feuilles.

Tout d'abord, nous devons mentionner la feuille de copie.

Feuilles de calcul ("Sheet1"). Plage ("A1"). Copier

Ensuite, dans l'argument Destination, nous devons mentionner le nom de la feuille de calcul ciblée et la plage de la cellule.

Destination: = Feuilles de calcul ("Sheet2"). Plage ("B3")

Donc, le code devrait aimer ça.

Code:

Sub Copy_Example () Worksheets ("Sheet1"). Range ("A1"). Copy Destination: = Worksheets ("Sheet2"). Range ("B3") End Sub

Exemple # 3 - Copie d'un classeur vers un autre classeur

Nous avons vu comment copier d'une feuille de calcul vers une autre feuille de calcul dans le même classeur. Mais nous pouvons également le faire d'un classeur à un autre classeur.

Jetez un œil au code ci-dessous.

Code:

SubCopy_Example () Workbooks ("Book 1.xlsx"). Feuilles de calcul ("Sheet1"). Range ("A1"). Copier des classeurs ("Book 2.xlsx"). Activez ActiveWorkbook.Worksheets ("Sheet 2"). Sélectionnez ActiveSheet.Paste End Sub

Tout d'abord, il copiera les données de la feuille de calcul «Sheet1» dans le classeur «Book1.xlsx» de la cellule A1.

Workbooks("Book 1.xlsx").Worksheets("Sheet1").Range("A1").Copy”

Then it will activate the workbook “Book 2.xlsx”.

Workbooks("Book 2.xlsx").Activate

In the active workbook, it will select the worksheet “Sheet 2.”

ActiveWorkbook.Worksheets("Sheet 2").Select

Now in the active sheet, it will paste.

ActiveSheet.Paste

Alternative Way for using Copy-Paste in VBA

We have one more alternative way of having the data from one cell to another cell. Assume you have the word “Excel VBA” in the cell A1 and you need the same to come in cell B3.

One method we have seen is using the VBA copy and paste method. Now I will show you one of the alternative ways. Look at the below piece of code to understand.

Code:

Sub Copy_Example1() Range("A1").Value = Range("B3").Value End Sub

The above says whatever the value is there in the cell A1 should be equal to the value in the cell B3.

Range("A1").Value = Range("B3").Value

Even though this is not a copy and paste method still adds more value to our coding knowledge.

Top Ways of VBA Copy and Paste as Values

Now we will see different ways of VBA copy and paste values. Assume you are in the cell A1 as shown in the below image.

  • If we want to copy and paste, we need to reference the cell here. Rather we can just use a property of Selection. Copy method.

Code:

Sub Copy_Example1() Selection.Copy Destination:=Range("B3") End Sub

OR

Sub Copy_Example1() ActiveCell.Copy Destination:=Range("B3") End Sub
  • If you want to copy the entire used range of the worksheet, you can use the below code.

Code:

Sub Copy_Example2 () Worksheets ("Sheet1"). UsedRange.Copy Destination: = Worksheets ("Sheet2"). Range ("A1") End Sub

Cela copiera toute la plage utilisée dans la feuille de calcul «Sheet1» et la collera dans la feuille de calcul «Sheet2».

Articles intéressants...