Copie de toutes les feuilles de calcul dans une feuille

Je suis en train d'écrire une macro excel qui va copier tous mes feuilles de calcul en une seule feuille de calcul.

Toutes les feuilles de calcul sont placées de la même manière, les 4 colonnes avec des données dans chaque cellule de chaque ligne. Chaque fiche a un en-tête. Je suis en train de copier les préfiltres de données à partir de chaque feuille une feuille de résultats, les données de chaque feuille sera empilés les uns sur les autres.

Jusqu'à présent c'est ce que j'ai et c'est presque de travail.

Dim sh As Worksheet
Dim iRows As Long

iRows = 0

For Each sh In ActiveWorkbook.Worksheets

sh.Select
Range("A1").Select
Selection.Offset(1, 0).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy

Worksheets("Results").Select
Range("A1").Select
Selection.Offset(iRows, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues

iRows = Worksheets("Results").UsedRange.Rows.Count
Next sh

Mon décalage est incorrect, quand je copie au cours de la prochaine feuille de je de copier les données d'exemplaires au cours de la rangée précédente.

Si quelqu'un peut aider ce serait génial, si vous pouviez également vous expliquer ce que je fais de mal ici, ça serait très bien comme je suis nouveau sur excel et VBA. Je suis suppose que je ne comprends pas comment le coller fonctionne correctement?

  • 1 Éviter d'utiliser .Sélectionnez. Voir ce link travailler Directement avec les objets. 2 Prochaine voir ce lien sur la façon de trouver la dernière ligne. Dans la feuille source vous pouvez l'utiliser pour définir la plage et dans la feuille de sortie, vous pouvez décider de la prochaine ligne disponible à écrire.
  • Je vois que vous avez déjà sélectionné la réponse. Petite question... Vous pouvez choisir d'ignorer ce que eh bien, comme vous l'avez fait pour le commentaire ci-dessus 🙂 il y a une possibilité que le haut de la ligne ou de la dernière colonne peut avoir des cellules vides?
  • Salut Siddhart, désolé, j'ai accepté la réponse juste avant j'ai reçu la vôtre! Je vais vous lire sur vos liens. Les deux autres feuilles que j'ai eu ce que je suis maintenant en ignorant; 1. Avait un en-tête et une ligne vide et 2. était complètement vide.
  • Pas de soucis... n'oubliez pas si le haut de la ligne ou de la colonne la plus à droite a n'importe quelle cellule vide, puis xlToRight ou xlDown ne marchera pas...
InformationsquelleAutor Peck3277 | 2013-09-17