2011-03-16 5 views
0

Je copie des données d'une feuille à l'autre et j'ai un compteur universel, x.Macro Excel - comptage des lignes insérées

x = 2 
    Sheets("Info").Select 
    Range("B2:B6").Copy Destination:=Sheets("GreatIdea").Range("A" & x) 
    x = x + 1 

Donc j'insère 5 lignes et les champs suivants obtiennent des données; A2, A3, A4, A5, A6.

x is currently 3 
    Sheets("Info").Select 
    Range("B10").Copy Destination:=Sheets("GreatIdea").Range("A" & x) 

Alors maintenant 1 ligne est insérée, mais la cellule A3 va recevoir ses données écrasées. Comment puis-je ajouter «x» au nombre de champs ajoutés dans la copie précédente? Donc 'x' devient 7?

Merci beaucoup!

Répondre

1

Vous pouvez utiliser Rows.Count

x = x + Range("B2:B6").Rows.Count 
+0

travaillé impressionante! – CustomX

+0

est là un moyen de l'étendre donc disons B2: B5 contient des données, mais B6 est vide, je ne veux pas qu'il utilise B6 dans le compte. Est-ce possible? – CustomX

+0

Hmm ... Je ne peux pas penser à un one-liner qui va le faire, mais il sera possible avec une fonction séparée. Utilisez une boucle "pour chaque" et recherchez vbNullString – Dave