2013-09-06 4 views
0

Je suis en train de diviser chaque ligne jusqu'à ce que la dernière ligne mais je suis coincé à la division par une seule ligne qui est la ligne 2. Je pensais à l'aide de cettediviser chaque ligne par VBA

Dim LastRow As Range 

LastRow = Range("A" & Rows.Count).End(xlUp).Row 

Mais ma connaissance sur la façon de faire usage de la gamme est très limitée.

Ne partagez pas votre opinion .. merci! :)

Mon code est le suivant:

Sub test1() 


For Each c In Range("AL2:AS2 , BC2 ") 
c.Value = c.Value/1000 
Next c 

End Sub

+1

rien de mal avec votre 'test1', notez' Range ("A" et Rows.Count) .End (xlUp) .Row' vous avez utilisé renvoie la dernière ligne d'occasion , si ce n'est pas un nombre, alors il échoue. LastRow devrait être de type 'Long'. – PatricK

Répondre

1

Vous pouvez construire la gamme en construisant la chaîne de gamme, comme ceci:

Range("AL2:AS" & LastRow & ", BC2:BC" & LastRow) 

Notez que le .Row propriété de Range renvoie un Long qui est le numéro de ligne, donc vous devez déclarer:

Dim LastRow As Long 

Enfin cela donne:

Sub test2() 

Dim LastRow As Long 
Dim myCell As Range 

LastRow = Range("A" & Rows.Count).End(xlUp).Row 

For Each myCell In Range("AL2:AS" & LastRow & ", BC2:BC" & LastRow) 
    myCell.Value = myCell.Value/1000 
Next myCell 
End Sub 
+0

je vous remercie beaucoup pour votre aide! :) – user1204868

Questions connexes