Valeurs de pâte VBA

Valeurs de collage Excel VBA

Copier et coller n'est pas le plus beau travail au monde !!! Mais copier et coller avec une option spéciale 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 «Coller les valeurs» dans VBA.

Comment coller des valeurs dans Excel en utilisant VBA?

Vous pouvez télécharger ce modèle Excel de valeur de pâte VBA ici - Modèle Excel de valeur de pâte VBA

Exemple # 1 - Utilisation du collage spécial

Pour un exemple, regardez l'image de la 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»).

É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 une méthode spéciale de collage, examinons la syntaxe ci-dessous de la méthode spéciale de collage.

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 est la copie de la cellule B6.

Maintenant, dans la ligne suivante, écrivez la cellule de destination comme 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 d'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 la sélection automatique.

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.

Pour un exemple, regardez l'image ci-dessous.

Dans l'image ci-dessus de la feuille de calcul dans la colonne «F», nous avons la 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

To paste values from one worksheet to another, we need to mention both the worksheet names. Below is an example of that.

 Sub Paste_Values2() Worksheets("Sheet1").Range("A1").Copy Worksheets("Sheet2").Range("A15").PasteSpecial xlPasteValues End Sub