2017-09-12 1 views
0

내 스프레드 시트의 테두리를 만들고 두 값을 비교하려고합니다. 이렇게하려면 내 범위에서 행을 증가시켜야하지만 사용중인 수식은 증가하지 않습니다.VBA 2010 증가 범위 행 수가 증가하지 않습니다.

Set ws = Sheets(strSheetName) 
lRow = ws.Cells(Rows.Count, 1).End(xlUp).Row 
Stop 
'Create borders 
    For Each c In Range("A1:A" & lRow) 
     If Trim(c.Value) = PracticeName Then First = "A" & c.Row 
     If Trim(c.Value) = "SubTotal" Then SubTotal = "B" & c.Row 
     If Trim(c.Value) = "" Then 
     Set Rng = Sheets(strSheetName).Range(First & ":" & SubTotal) 
     Call SetRangeBorder(Rng) 
     End If 
    If Trim(c.Value) = PracticeName Then FirstDataRow = "B" & c.Row + 2 
    If Trim(c.Value) = "IDX" Then LastDataRow = "B" & c.Row 
    Stop 
    If LastDataRow <> "" And SubTotal <> "" Then 
     If Trim(c.Value) = "SubTotal" Then Range(SubTotal).Formula = "=SUM(" 
    & FirstDataRow & ":" & LastDataRow & ")" 
     'Check if Values are equal 
     Stop 
     compare1 = Range(SubTotal) 
     FinalRow = "B" & c.Row + 1 
     compare2 = Range(FinalRow) 
     'If equal set color to green 
     If compare1 = compare2 Then Range(FinalRow).Interior.ColorIndex = 4 
     'If not equal set color to red 
     If compare1 <> compare2 Then Range(FinalRow).Interior.ColorIndex = 3 
     Range("A" & c.Row) = Range("A" & c.Row).Offset(3, 0) 
     Stop 
    End If 
Next 
+0

'Range ("A1 : A"& lRow)'앞에 워크 시트를 추가하여 올바른 것을 실행하고 있는지 확인하십시오. ws.Range ("A1 : A "& lRow)'? – BruceWayne

+0

'c' (데이터 유형)을 어떻게 선언 했습니까? – danieltakeshi

답변

0

당신은 대신 사용할 수 있습니다 그것은 작동합니다

For i = 1 to lRow 

을 그리고 세포를 참조 할 때 사용하는 것 :

ws.Cells(i,1).Value 

를 "나는", 행 번호이며, "1"은 열 번호입니다. 이렇게하면 원하는 열의 행이 증가합니다. 이 방법은 단지 선호도이며 나를 위해 시각화하기가 더 쉽다.