2009-07-01 8 views
0

Est-ce que quelqu'un a une macro qui va prendre des données d'une liste compilée, trier un mois particulier, coller seulement le mois trié dans une nouvelle feuille de calcul? Ce que je prépare est un journal où les échantillons sont placés dans la "liste complète" par tous les employés et quand le patron veut voir seulement quelques mois, disons janvier, il sera capable de cliquer sur le mois de janvier. bouton et il l'amène à une feuille de calcul qui a copié uniquement les échantillons datés "Janvier" de la feuille de travail Liste complète dans un nouvel emplacement pour l'affichage. Puisque les données arrivent continuellement, il faudrait trier et sélectionner de nouvelles données à chaque fois.Macro pour copier les lignes sélectionnées dans une autre feuille de calcul et trier par mois

Merci pour votre aide à l'avance!

Répondre

1

Je viens de faire un cahier de travail comme vous l'avez décrit, en utilisant la fonction .advancedfilter.

ressource Seulement j'était le suivant: http://www.vbaexpress.com/kb/getarticle.php?kb_id=567

Vous devriez être en mesure de le comprendre de cela, et à partir de la feuille de calcul exemple, vous pouvez télécharger à partir du bas. Si vous ne pouvez pas, vous êtes dans votre tête, j'ai peur :)

+0

Vous pouvez réaliser la plus grande partie de ceci sans n'importe quel code en employant la fonction intégrée de filtre avancé (Excel 2007: http://office.microsoft.com/en-us/excel/HP100739421033.aspx Excel 2003: http://office.microsoft.com/en-us/excel/HP052001781033.aspx). Si vous utilisez l'enregistreur de macros conjointement avec Advanced Filter, vous devriez obtenir un code similaire au code Izzy auquel vous pourrez vous adapter à vos besoins spécifiques. – barrowc

0

Cela peut être fait sans VBA en créant un tableau croisé dynamique par mois. Lorsque vous double-cliquez sur la valeur d'un mois particulier, une nouvelle feuille sera automatiquement créée et remplie avec un ensemble filtré des données pour ce mois.

  • Sélectionnez vos données puis cliquez sur 'données - tableau croisé dynamique Rapport'

  • Cliquez sur le Next bouton, le Next bouton à nouveau, puis le Terminer bouton

  • Faites glisser votre champ de date dans les champs de ligne

  • Faites glisser le nom de l'employé dans la section donnée

  • Faites un clic droit sur les champs de ligne contenant la date et sélectionnez « Groupe et Montrer détail - Groupe »

  • Définir un début et une date de fin et choisir de groupe par mois

maintenant en double-cliquant sur un montant dans la zone d'élément de données va créer une nouvelle feuille indiquant les données qui a été utilisé pour générer le nombre. Lorsque vos données changent continuellement, créez une plage nommée dynamique en utilisant 'Insérer - Nom - Définir' pour utiliser comme plage de tables pivotantes. La formule de la plage dynamique nommée ressemblerait à ceci:

=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!A:A),3) 

Si vous utilisez Excel 2007, marquez alors vos données comme une table (Ctrl-T) et l'utiliser comme base pour un pivot table pour atteindre le même effet.

Questions connexes