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 à une autre. 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
Vous pouvez télécharger ce modèle Excel VBA Copy Paste ici - Modèle VBA Copy Paste ExcelSupposons que vous ayez le mot «Excel VBA» dans la cellule A1.
Disons par exemple que 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. 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 en utilisant 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 à l'aide de l'objet WORKSHEETS, puis mentionner la plage de cellules dans cette FEUILLE DE TRAVAIL. 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:
Sous Copy_Example () Workbooks ("Book 1.xlsx"). Worksheets ("Sheet1"). Range ("A1"). Copy Workbooks ("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.
" Classeurs (" Livre 1.xlsx "). Feuilles de calcul (" Feuille1 "). Plage (" A1 "). Copier"
Ensuite, il activera le classeur «Book 2.xlsx».
Classeurs ("Livre 2.xlsx"). Activer
Dans le classeur actif, il sélectionnera la feuille de calcul «Feuille 2»
ActiveWorkbook.Worksheets ("Feuille 2"). Sélectionnez
Maintenant dans la feuille active, il va coller
ActiveSheet.Paste
Autre moyen d'utiliser Copy Paste dans VBA
Nous avons une autre façon de disposer des données d'une cellule à une autre. Supposons que vous ayez le mot «Excel VBA» dans la cellule A1 et que vous en ayez besoin dans la cellule B3.
Une méthode que nous avons vue utilise la méthode de copier-coller VBA, je vais maintenant vous montrer l'une des méthodes alternatives. Regardez le morceau de code ci-dessous pour comprendre.
Code:
Sub Copy_Example1 () Range ("A1"). Value = Range ("B3"). Value End Sub
Ce qui précède dit que la valeur de la cellule A1 doit être égale à la valeur de la cellule B3.
Plage ("A1"). Valeur = Plage ("B3"). Valeur
Même s'il ne s'agit pas d'une méthode de copier-coller, cela ajoute encore plus de valeur à nos connaissances en codage.
Principales façons de copier et coller VBA en tant que valeurs
Nous allons maintenant voir différentes façons de copier et coller des valeurs VBA. Supposons que vous soyez dans la cellule A1 comme indiqué dans l'image ci-dessous.
- 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
This will copy the entire used range in the worksheet “Sheet1” and will paste the same in the worksheet “Sheet2”