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