Spécial pâte VBA

Semblable à la feuille de calcul lorsque nous copions des données et les collons sur une plage de cellules différente, nous avons une méthode spéciale de collage qui nous permet de coller les données en tant que telles ou uniquement les formules ou uniquement les valeurs et de la même manière que nous pouvons utiliser Collage spécial dans VBA en utilisant la méthode de propriété de plage comme suit range. coller special () en fournissant le type souhaité entre crochets.

Collage spécial dans VBA

Paste Special in Excel sert à bien des égards dans notre travail quotidien. En utilisant la pâte spéciale, nous pouvons faire beaucoup plus de choses que les choses habituelles. Le copier-coller est présent partout dans le monde informatique. Mais la pâte spéciale est la chose avancée dans Excel.

Comme la pâte Excel régulière spéciale dans VBA, nous avons également une méthode spéciale pour coller les données copiées. Copier les éléments dans Excel n'est pas une chose étrange pour les utilisateurs d'Excel, ils copient, collent et la plupart du temps, ils utilisent la pâte spéciale pour servir leur objectif de plusieurs manières.

Dans Excel standard, coller comprend de nombreuses options telles que coller uniquement des valeurs, coller des formules, coller des formats, etc.

Coller spécial doit Coller, Opération, Ignorer les blancs et Transposer comme ça dans VBA aussi, nous avons tous les paramètres avec la méthode Coller spécial .

La formule de pâte spéciale dans VBA

Vous trouverez ci-dessous la formule pour la pâte spéciale dans VBA

Coller spécial est disponible avec l'objet VBA Range car après avoir copié les données, nous les collerons dans la plage de cellules, donc la méthode spéciale coller est disponible avec l' objet range .

Type de collage: après avoir copié les données, comment voulez-vous coller. Que vous souhaitiez coller des valeurs, des formules, des formats, des validations, etc. Voici la liste complète des options disponibles sous Coller le type.

Coller une opération spéciale: lors du collage, souhaitez-vous effectuer des opérations telles que l'ajout, la soustraction, la division, la multiplication ou aucune.

  • [Ignorer les blancs]: si vous souhaitez ignorer les blancs, vous pouvez choisir VRAI ou FAUX.
  • [Transposer]: Si vous souhaitez transposer les données, vous pouvez choisir TRUE ou FALSE.

Exemples de Collage spécial dans Excel VBA

Voici les exemples de pâte spéciale dans VBA.

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

Exemple # 1 - Coller uniquement les valeurs à l'aide de la fonction VBA PasteSpecial

Dans le premier exemple, nous effectuerons le collage uniquement des valeurs en utilisant le collage spécial. Supposons que ci-dessous se trouvent les données que vous avez dans le nom de la feuille appelées Données de vente.

Nous allons maintenant effectuer la tâche de copier-coller en utilisant plusieurs méthodes spéciales de collage. Suivez les étapes ci-dessous.

Étape 1: Créez d'abord un nom de macro.

Étape 2: Copiez d'abord la plage A1 à D14 du nom de feuille «Données de vente». Pour copier la plage, appliquez le code ci-dessous.

Code: 

Plage ("A1: D14"). Copier

Étape 3: Après avoir copié les données, nous allons coller les valeurs de G1 à J14. Faites d'abord référence à la plage.

Code:

Plage ("G1: J14")

Étape 4: Après avoir sélectionné la plage, nous devons coller. Mettez donc un point (.) Et sélectionnez la méthode Collage spécial.

Code:

 Sub PasteSpecial_Example1 () Range ("A1: D14"). Copier la plage ("G1: J14"). PasteSpecial End Sub 

Étape 5: Dans la liste déroulante, sélectionnez l'option «xlPasteValues».

Code:

 Sub PasteSpecial_Example1 () Range ("A1: D14"). Copier la plage ("G1: J14"). PasteSpecial xlPasteValues ​​End Sub 

Étape 6: Exécutez maintenant ce code à l'aide de la touche F5 ou manuellement et voyez ce qui se passe.

Notre code a donc copié les données de A1 à D14 et collées de G1 à J14 en tant que valeurs.

Il a effectué la tâche de clé Excel de raccourci dans la feuille ALT + E + S + V .

Exemple # 2 - Coller tout à l'aide de VBA PasteSpecial

Nous allons maintenant voir ce qui se passe si nous effectuons la tâche de xlPasteAll.

Code:

 Sub PasteSpecial_Example2 () Range ("A1: D14"). Copier la plage ("G1: J14"). PasteSpecial xlPasteAll End Sub 

Maintenant, si vous exécutez ce code manuellement via l'option d'exécution ou en appuyant sur la touche F5, nous aurons en l'état des données.

Exemple # 3 - Coller les formats à l'aide de la fonction VBA PasteSpecial

Nous allons maintenant voir comment coller uniquement les formats. Le code ci-dessous ferait le travail pour nous.

Code:

 Sub PasteSpecial_Example3 () Range ("A1: D14"). Copier la plage ("G1: J14"). PasteSpecial xlPasteFormats End Sub 

Si vous exécutez ce code à l'aide de la touche F5 ou manuellement, nous obtiendrons le seul format de la plage copiée, rien d'autre.

Exemple # 4 - Coller la largeur de colonne à l'aide de VBA Paste Special

Nous allons maintenant voir comment coller uniquement la largeur de colonne de la plage copiée. Pour cela, j'ai augmenté la largeur de la colonne pour l'une de mes colonnes de données.

Appliquer sous le code, il ne collera que la largeur de colonne de la plage copiée.

Code:

 Sub PasteSpecial_Example3 () Range ("A1: D14"). Copier la plage ("G1: J14"). PasteSpecial xlPasteColumnWidths End Sub 

Exécutez ce code et voyez la différence dans la largeur de la colonne.

Nous pouvons maintenant voir que la largeur de la colonne Sales a été augmentée à la largeur de la colonne de notre colonne de plage copiée.

Exemple # 5 - Copiez les données d'une feuille vers une autre feuille à l'aide de l'option spéciale VBA Paste

Nous avons vu comment copier et coller les données sur la même feuille. Maintenant, nous allons comment coller d'une feuille à une autre feuille.

Étape 1: Avant de sélectionner la plage, nous devons déterminer à partir de quelle feuille nous devons sélectionner les données.

Code:

 Sub PasteSpecial_Example5 () Worksheets ("Sales Data") End Sub 

Étape 2: Après avoir sélectionné la feuille par son nom, nous devons sélectionner la plage dans cette feuille. Le copier.

Code:

 Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy End Sub 

The above code says in the sheet name “Sales Data” copy the Range (“A1:D14”)

Step 3: Since we are pasting it in the different sheet we need to select the sheet by its name.

Code:

 Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets ("Month Sheet") End Sub 

Step 4: Now in the sheet “Month Sheet” select the range.

Code:

 Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets("Month Sheet").Range ("A1:D14") End Sub 

Step 5: Using Paste special we will be pasting values and format.

Code:

 Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets("Month Sheet").Range("A1:D14").PasteSpecial xlPasteValuesAndNumberFormats End Sub 

Step 6: We are not only pasting values and format using VBA Paste Special but we are pasting it as TRANSPOSE as well.

Code:

 Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets("Month Sheet").Range("A1:D14").PasteSpecial xlPasteValuesAndNumberFormats, Transpose:=True End Sub 

Now run this code it will copy and transpose the data to “Month Sheet”.

Things to Remember About Excel VBA PasteSpecial Function

  • If you want to skip blanks you need to enter the argument as TRUE by default it takes FALSE.
  • If you want to transpose the data we need to select the transpose as TRUE.
  • We can perform only one paste special at a time.