2010-11-09 10 views
1

une boucle standard dans Excel VBA va comme ceci:Comment utiliser un compteur comme argument dans les fonctions?

dim i as integer 
for i = 1 to 100 
<do program> 
next 
end sub 

Maintenant, ma question est: comment puis-je utiliser le compteur, je, comme un argument dans le programme?

exemple:

dim i as integer 
for i = 1 to 100 

If Range("Ci") = 0 Then 
Rows("i:i").Select 
Rows.Delete 

next 
end sub 

Répondre

3

Vous devriez être en mesure de faire quelque chose comme ceci:

dim i as integer 
for i = 1 to 100 

     If Range("C" & i) = 0 Then 
      Rows(i & ":" & i).Select 
      Rows.Delete 
     end if 
next 
end sub 

Le & est l'opérateur de concaténation qui est utilisé pour ajouter une chaîne sur une autre chaîne.

maintenant i est évidemment un certain nombre dans l'exemple ci-dessus, mais VBScript est assez intelligent pour savoir ce que vous faites et, par exemple, il suffit de coller "C" et la valeur actuelle de i ensemble.

+0

Merci Mark, ça a marché comme un charme! – Pieter

+2

Une mise en garde: Si vous supprimez vraiment des lignes, comptez en arrière comme * Pour i = 100 à 1 Étape -1 *. Sinon, vous obtiendrez des résultats inattendus. –

+1

@Dick ... ou utilisez une construction Do..Loop et n'avance pas i sur delete, car la ligne (i + 1) prendra la place de la ligne i une fois la ligne (i) supprimée. – MikeD

Questions connexes