Excel - une macro pour copier des données de différentes feuilles
Problème
J'essaie de copier des données de différentes feuilles sur une feuille maîtresse selon les critères suivants
- La feuille maîtresse doit être générée à chaque fois que je lance une macro en effaçant la feuille maîtresse précédente.
- Tous les en-têtes de colonnes sont identiques.
- Pour la feuille maîtresse, un seul en-tête doit être copié (c’est-à-dire que la première ligne ne doit pas être copiée de la deuxième feuille.)
- Si aucune valeur n'apparaît dans une cellule particulière, cette ligne ne doit pas être copiée.
- La feuille maîtresse doit être triée selon la colonne que je mentionne dans l'exécution de la macro. (C'est-à-dire que j'affecterai dans la boîte de message le champ / la colonne qui doit être trié dans la feuille maîtresse.)
Solution
Je doute que vous souhaitiez copier les données de tous les mois sur la feuille maîtresse OU pour les mois. J'ai assumé tous les mois. Dans ce cas essayez cette macro
Sous-test () Dim j As long, k As long, r As Plage j = Feuilles de calcul.Compte avec feuilles de calcul ("maître") Définissez r = Plage (.Range ("A2"), .Range ("A2"). Fin (xlDown)) r.EntireRow.Delete End With With pour k = 1 To j If Worksheets (k) .Name = "master" Ensuite, allez dans le gestionnaire d'erreurs avec des feuilles de calcul (k) If .Range ("A2") = "" dans ce moment, allez à ErrorManager. Définissez r = Range (.Range ("A2"), .Range ("A2"). End (xlDown)) r.EntireRow.Copy Worksheet ("master"). Cells (Rows.Count, "A"). End (xlUp) .Offset (1, 0) .PasteSpecial End avec gestionnaire d'erreur: Next k End Sub
Dans votre fichier, vous avez trop de modules vides. Supprimez-les tous sauf module1.
Notez que
Résolu par venkat1926