2009-04-14 15 views
1

J'ai 3 feuilles de travail. Voici une explication de ce que j'essaie de faire. EM11 EM12 EM01Comment résumer le nombre de dates

Les étapes ci-dessous sont destinés à feuilles EM11, mais je veux les répéter pour la feuille EM12 et feuille EM01

  • Sélectionner feuille EM11
  • Copie J2: J65636 et copie G2: G65636
  • Créer une nouvelle feuille de calcul appelée EM11-Count
  • Coller la colonne J dans la cellule A2 de la nouvelle feuille de calcul appelée EM11-Count
  • Collez la colonne G dans la cellule B2 de la nouvelle feuille de calcul.

  • La feuille de calcul appelée EM11-Count a maintenant des dates dans la plage B2: B65636.

  • Copiez et collez la première date que vous entrez dans la cellule C1
  • Copiez et collez la deuxième date que vous obtenez dans la cellule D1
  • Copiez et collez le troisième jour vous obtenez dans la cellule E1
  • Copiez et collez le quatrième jour vous obtenez dans la cellule F1
  • Copiez et collez le cinquième jour vous obtenez dans la cellule G1
  • Copier et coller la date sixième que vous obtenez dans la cellule H1 (il n'y aura six ou sept dates différentes)

Maintenant, la feuille de calcul ressemblera à quelque chose comme ça

Col A Col B  Col C  Col D  Col E  
        04/1/2009 04/2/2009 04/3/2009 
DPR1 04/1/2009    
DRS6 04/2/2009    
ERJ9 04/3/2009    

Regardez A2: B2. Maintenant, regardez C1: H1 pour trouver la date correspondant à la date que vous avez dans B2. Disons que C1 a la date correspondante. Aller à C2 et mettre le numéro 1.

Col A Col B  Col C  Col D  Col E  
        04/1/2009 04/2/2009 04/3/2009 
DPR1 04/1/2009 1   
DRS6 04/2/2009    
ERJ9 04/3/2009    

Suivant Regardez A3: B3. Maintenant, regardez C1: H1 pour trouver la date correspondant à la date que vous avez dans B3. Disons que D1 a la date correspondante. Aller à D3 et mettre le numéro 1.

Suivant Regardez A4: B4. Maintenant, regardez C1: H1 pour trouver la date correspondant à la date que vous avez en B4. Disons que E1 a la date correspondante. Aller à E3 et mettre le numéro 1.

Col A Col B  Col C  Col D  Col E  
        04/1/2009 04/2/2009 04/3/2009 
DPR1 04/1/2009 1   
DRS6 04/2/2009    1   
ERJ9 04/3/2009       1 

Maintenant, répétez ce modèle jusqu'à ce que chaque rangée dans A: B a été couverte. En descendant chaque rangée dans les colonnes A: B, des doublons aléatoires se produiront. Par exemple, le contenu de A1: B1 sera identique à A2: B7 ou le contenu de A14: B14 sera identique à A15: B20. Lorsque ces doublons se produisent, je veux supprimer les lignes en double mais augmenter le nombre/comptage de la ligne d'origine par le nombre "1". Par exemple, une fois que la macro a fini de numériser A: B, la feuille de calcul peut ressembler à ceci:

Col A Col B  Col C  Col D  Col E  
        04/1/2009 04/2/2009 04/3/2009 
DPR1 04/1/2009 12  
DRS6 04/2/2009    23    
ERJ9 04/3/2009       57 

Voici le code que j'ai actuellement. Comme je suis sûr que vous pouvez voir cela a besoin de beaucoup de travail. Pouvez-vous m'aider?

Sub NWorksheetArrange() 
    Application.Goto Reference:="R2C10:R65000C10" 
    Selection.Copy 
    Sheets.Add 
    ActiveSheet.Paste 
    Sheets("Sheet3").Select 
    Sheets("Sheet3").Name = "EM11-COUNT" 
    Sheets("EM11").Select 
    Application.Goto Reference:="R2C7:R65000C7" 
    Application.CutCopyMode = False 
    Selection.Copy 
    Sheets("EM11-COUNT").Select 
    Range("B1").Select 
    ActiveSheet.Paste 
    Rows("1:1").Select 
    Application.CutCopyMode = False 
    Selection.Insert Shift:=xlDown 
    Range("B2").Select 
End Sub 
+0

Si vous pouvez cliquer sur Modifier pour voir à quoi ressemble la question dans sa forme d'origine. Les exemples que j'ai donnés peuvent être difficiles à comprendre parce que le formatage a changé après que j'ai posté la question. Faites moi savoir si vous avez des questions. Merci pour votre temps. –

Répondre

2

Cela ressemble énormément à un "tableau croisé dynamique" ... et Excel les fait automatiquement.

Comme ceci: http://screencast.com/t/gpLsU50q38

Pour faire une macro qui construit le tableau croisé dynamique, faire « Enregistrer une macro » ... puis construire le tableau croisé dynamique ... puis enveloppez votre code dans la déclaration de tableau croisé dynamique enregistrée.