我如何循环上面的代码?

时间:2017-10-04 09:19:35

标签: excel vba excel-vba

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行。也没有空格。我怎么能这样做?

1 个答案:

答案 0 :(得分: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