2017-10-04 16 views
1
Sub CalculateWFR() 
     'select 1st sheet 
     Worksheets(1).Activate 

     'select range A:W 
     Worksheets(1).Cells.Select 
     Columns("A:W").Select 

     'copy paste sheet programare in results 
     Sheets("Programare").Range("A:W").Copy Destination:=Sheets("Result").Range("A:W") 

     'compare values from column U with column V and put +/-/= if value from U2 is higher,smaller or equals value from column V2 
     Dim X As Integer Dim y As Integer 
     X = Worksheets("Result").Range("U2").Value 
     y = Worksheets("Result").Range("V2").Value 

     If X > y Then 
      Worksheets("Result").Range("X2") = "+" 
     ElseIf X < y Then 
      Worksheets("Result").Range("X2") = "-" 
     ElseIf X = y Then 
      Worksheets("Result").Range("X2") = "=" 
     End If 
    End Sub 

私は1000行以上の列Xに上記のコードをループしようとしています。また、空白はありません。これどうやってするの?上記のコードをどのようにループできますか?

+0

フォーマットヒント:コードブロックとして表示されるように少なくとも4つのスペースを持つインデントコード。 – Nyerguds

+2

トップgoogle結果(http://www.excel-easy.com/vba/loop.html)。まず自分でやってみてください。 – Zerk

答えて

0

@Zerkは、この動作の仕組みを理解しようと提案しました。 ルーピングと選択は全く必要ありません。 これは、X列に式を入力してから、その式をVBAに挿入する方法を考えてみてください。

Sub test() 
    Sheets("Programare").Range("A:W").Copy Destination:=Sheets("Result").Range("A:W") 
    Sheets("Result").Range("X2:X1000").Formula = "=IF(U2>V2,""+"",IF(V2>U2,""-"",IF(U2=V2,""="","""")))" 
End Sub 
関連する問題