Spécial pâte VBA - Les 5 meilleures façons d'utiliser la fonction VBA PasteSpecial?

Table des matières

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 comme elles-mêmes ou uniquement les formules ou uniquement les valeurs et de la même manière, 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 que nous voulons 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 d'habitude. Le copier-coller est présent partout dans le monde informatique. Mais la pâte spéciale est la chose avancée dans Excel.

Tout comme la pâte Excel régulière spéciale dans VBA, nous avons 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 les 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 Collage 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 espaces): si vous souhaitez ignorer les espaces, 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.

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: Tout d'abord, copiez la plage A1 à D14 à partir 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. Commencez par référencer 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").Copy Range("G1:J14").PasteSpecial xlPasteAll End Sub

Now, if you run this code manually through the run option or by pressing the F5 key, we will have as it is data.

Example #3 - Paste Formats using VBA PasteSpecial Function

Now we will see how to paste only formats. The Below code would do the job for us.

Code:

Sub PasteSpecial_Example3() Range("A1:D14").Copy Range("G1:J14").PasteSpecial xlPasteFormats End Sub

If you run this code using the F5 key or manually, we will get the only format of the copied range, nothing else.

Example #4 - Paste Column Width using VBA Paste Special

Now we will see how to paste only column width from the copied range. For this, I have increased the column width for one of my data columns.

Apply the below code it will paste only the column width of the copied range.

Code:

Sub PasteSpecial_Example3() Range("A1:D14").Copy Range("G1:J14").PasteSpecial xlPasteColumnWidths End Sub

Run this code and see the difference in the column width.

Now we can see Sales column width has been increased to the column width of our copied range column.

Example #5 - Copy the Data from One Sheet to Another Sheet using VBA Paste Special Option

We have seen how to copy and paste the data on the same sheet. Now we will how to paste from one sheet to another sheet.

Step 1: Before we select the range, we need to tell from which sheet we need to select the data.

Code:

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

Step 2: After selecting the sheet by its name, then we need to select the range in that sheet. The copy it.

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 a 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 the “Month Sheet.”

Things to Remember About Excel VBA PasteSpecial Function

  • Si vous souhaitez ignorer les espaces, vous devez entrer l'argument comme TRUE par défaut. Il faut FAUX.
  • Si vous souhaitez transposer les données, nous devons sélectionner la transposition comme TRUE.
  • Nous ne pouvons effectuer qu'une seule pâte spéciale à la fois.

Articles intéressants...