2017-10-04 54 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 

我想循環上面的代碼列X,它有超過1000行。也沒有空白。我怎樣才能做到這一點?我如何循環上面的代碼?

+0

格式化提示:使用至少4個空格縮進代碼以使其顯示爲代碼塊。 – Nyerguds

+2

頂部谷歌結果(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