Valeurs de collage Excel VBA
Copier et coller n'est pas le plus beau travail au monde !!! Mais copier et coller avec des options spéciales nécessite une certaine connaissance de VBA. Ce n'est pas le processus simple comme le simple copier-coller. L'une des méthodes spéciales de collage importantes est «Paste Values» dans VBA.
Comment coller des valeurs dans Excel en utilisant VBA?
Exemple # 1 - Utilisation du collage spécial
Par exemple, regardez l'image de feuille de calcul ci-dessous.

Dans la cellule B6, nous avons appliqué la formule pour calculer les valeurs de ventes totales des cellules B2 à B5. Maintenant, si je copie et colle la cellule B6 dans C6, je n'obtiendrai pas la valeur de 22 761, mais j'obtiendrai la formule correspondante.
Pour effectuer la même chose en VBA, nous avons besoin de connaissances en codage. Nous allons vous montrer comment coller des valeurs à l'aide de VBA. Suivez les étapes ci-dessous.
Étape 1: Copiez la cellule B6.
Pour copier la cellule B6, utilisez le code comme Range («B6»). Copier

Étape 2: Sélectionnez la cellule de destination. Dans ce cas, cellule C6.
Comme vous pouvez le voir après la copie, il demande, "Destination". Ce n'est rien mais où voulez-vous coller, alors sélectionnez la "Destination" comme plage ("C6")
Code:
Sub Paste_Values () Range ("B6"). Copy Range ("C6") End Sub
Étape 3: Exécutez le code
Exécutez ce code, nous obtiendrons la copie B6 en C6.

Nous n'avons que la formule ici.
Étape 4: Effectuez une méthode spéciale de collage.
Pour effectuer la méthode spéciale coller, examinons la syntaxe ci-dessous de la méthode spéciale coller.

Dans la méthode spéciale pâte, nous avons plusieurs méthodes. En fonction de l'opération que nous effectuons, nous devons sélectionner le type en conséquence.
Pour comprendre, décomposons le code en deux lignes.
Le premier copie la cellule B6.

Maintenant, dans la ligne suivante, écrivez la cellule de destination sous la forme Range ("C6")

Maintenant, pour accéder à la méthode spéciale de collage, mettez un point et commencez à taper la lettre «P.»

Dans la variété d'options ci-dessus, sélectionnez la méthode «Collage spécial».

Après avoir sélectionné la méthode, appuyez sur la touche espace pour voir les différentes méthodes spéciales de collage.

Dans cette variété d'options, sélectionnez «xlPasteValues».

Après avoir sélectionné l'option, appuyez sur la touche de tabulation pour sélectionner automatiquement.
Code:
Sub Paste_Values () Range ("B6"). Copier la plage ("C6"). PasteSpecial xlPasteValues End Sub

Étape 5: Exécutez le code
Maintenant, exécutez le code, nous devrions obtenir uniquement la valeur de la cellule B6 dans la cellule C6.

Si vous remarquez la feuille de calcul après avoir exécuté le code, elle est toujours en mode copie uniquement.


Cela désactivera le mode de copie coupée après l'exécution de la méthode spéciale de collage.
Exemple # 2 - Collage spécial avec des boucles
Coller spécial est facile, mais son utilisation dans le cadre d'un code volumineux nécessite un niveau avancé de compétences en codage.
Par exemple, regardez l'image ci-dessous.

Dans l'image ci-dessus de la feuille de calcul dans la colonne «F», nous avons une colonne totale, c'est-à-dire dans les cellules F2, F5, F8, F11 et F14.
Maintenant, mon exigence est de copier chaque cellule totale de la cellule respective et de la coller dans la colonne «H» avec les cellules respectives.
En utilisant le code ci-dessous, avec des boucles VBA, nous pouvons le faire.
Code:
Sub Paste_Values1 () Dim k As Integer Dim j As Integer j = 2 For k = 1 To 5 Cells (j, 6) .Copy Cells (j, 8) .PasteSpecial xlPasteValues j = j + 3 Next k End Sub
Ce code avec l'option spéciale de collage effectuera la tâche de copier chaque cellule totale et de coller dans la colonne «H» avec les cellules respectives.

Exemple # 3 - Copier d'une feuille de calcul à une autre
Pour coller des valeurs d'une feuille de calcul à une autre, nous devons mentionner les deux noms de feuille de calcul. Voici un exemple de cela.
Sub Paste_Values2 () Worksheets ("Sheet1"). Range ("A1"). Copier les feuilles de calcul ("Sheet2"). Range ("A15"). PasteSpecial xlPasteValues End Sub