Comment utiliser des macros pour créer des classeurs Excel

Vous pouvez parfois vouloir ou avoir besoin de créer un classeur Excel de manière automatisée. Par exemple, vous pouvez avoir besoin de copier les données d'une table et de le coller dans un classeur nouvellement créé. Les macro suivante copie une gamme de cellules de la feuille active et colle les données dans un nouveau classeur.

Sommaire

Comment les œuvres macro

Comme vous le verrez quand vous lisez à travers les lignes du code, cette macro est relativement intuitive:

Sub Macro1 () 'Étape 1 Copiez les fiches techniques ("Exemple 1") Range.. ("B4: C15") Copy'Step 2 Créer un nouveau workbookWorkbooks.Add'Step 3 Collez le dataActiveSheet.Paste Destinations: = Range (" A1 ") 'Étape 4 Éteignez l'application alertsApplication.DisplayAlerts = False'Step 5 Enregistrez le workbookActiveWorkbook.SaveAs _Filename nouvellement créé: =" C: Temp MyNewBook.xlsx «Étape alertes d'application 6 de revenir en arrière onApplication.DisplayAlerts = Sous TrueEnd

Dans l'étape 1, vous copiez simplement les données qui varie de cellules B4 à C15. Notez que vous spécifiez à la fois la feuille et la gamme par son nom. Cette approche est une meilleure pratique lorsqu'on travaille avec plusieurs classeurs ouverts.

Dans l'étape 2, vous utilisez la méthode Add de l'objet Workbook pour créer un classeur. Le classeur vide est équivalent à choisir manuellement File-New-Blank document dans le ruban Excel.




Dans l'étape 3, vous utilisez la méthode Coller pour envoyer les données copiées à la cellule A1 du nouveau classeur.

Faites attention au fait que le code fait référence à l'objet de ActiveSheet. Lorsque vous ajoutez un classeur, le nouveau classeur gagne immédiatement se concentrer, de devenir le classeur actif. (Excel fait la même chose lorsque vous ajoutez un classeur manuellement.)

Dans l'étape 4 du code, vous définissez la méthode DisplayAlerts False, transformant efficacement hors les avertissements de Excel. Vous faites cela parce que, dans l'étape suivante du code, vous enregistrez le classeur nouvellement créé. Vous pouvez exécuter cette macro plusieurs fois, dans ce cas, Excel tente de sauver le fichier plusieurs fois.

Qu'advient-il lorsque vous essayez d'enregistrer un classeur à plusieurs reprises? Cela est vrai - Excel vous avertit qu'il existe déjà un fichier portant ce nom, puis vous demande si vous souhaitez écraser le fichier existant précédemment. Parce que votre but est d'automatiser la création du classeur, vous voulez supprimer cet avertissement.

À l'étape 5, vous enregistrez le fichier en utilisant la méthode SaveAs. Notez que vous entrez le chemin complet de l'emplacement de sauvegarde, y compris le nom du fichier final.

Parce que vous avez désactivé modifie d'application à l'étape 4, vous avez besoin de les réactiver (voir l'étape 6). Si vous ne le faites pas, Excel continue à supprimer tous les avertissements lors de la session en cours.

Comment utiliser la macro

Pour mettre en œuvre cette macro, vous pouvez copier et coller dans un module standard:

  1. Activer Visual Basic Editor en appuyant sur Alt + F11.

  2. droit; cliquez sur le nom du projet / classeur dans la fenêtre de projet.

  3. Choisissez Insertion-Module.

  4. Tapez ou collez le code dans le module nouvellement créé.

    Vous aurez probablement besoin de changer le nom de la feuille, l'adresse de la plage, et l'emplacement de sauvegarde.


» » » » Comment utiliser des macros pour créer des classeurs Excel