2017-10-04 4 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 
관련 문제