2015-11-02 69 views
2

我遇到了循环溢出的问题。这里是我的代码:VBA循环溢出

Private Sub DivideKPI() 
    Dim FRow As Long 
    Dim lrow As Long 
    Dim PRow As Long 

    Dim CurrentSheet As Worksheet 
    Set CurrentSheet = Excel.ActiveSheet 

    FRow = CurrentSheet.UsedRange.Cells(1).Row 
    lrow = CurrentSheet.UsedRange.Rows(CurrentSheet.UsedRange.Rows.count).Row 

    For PRow = lrow To 2 Step -1 
     CurrentSheet.Cells(PRow, "AO").Value = Round(((CurrentSheet.Cells(PRow, "AK").Value)/(CurrentSheet.Cells(PRow, "AM").Value)), 2) 
    Next PRow 
End Sub 

如果我把'PRow'手动代替循环,结果可以产生。但是我需要循环这个数据。如何做到这一点?我已经使用CLng,但也溢出。 谢谢!

*示例数据

AK   AM 
25.35  72 
224.92  24 

回答

0

我不相信PRow可以是你的问题。尝试:

For PRow = lrow To 2 Step -1 
     CurrentSheet.Cells(PRow, "AO").Value2 = Round(((CurrentSheet.Cells(PRow, "AK").Value2)/(CurrentSheet.Cells(PRow, "AM").Value2)), 2) 
    Next PRow 
+0

它仍然是一样的。溢出TT.TT @Rory – IlhamideaZ

+0

发生错误时,“PRow”的值和该行的AK和AM列中的单元格的值是什么? – Rory

+0

从循环开始。我尝试通过执行 CurrentSheet.Cells(PRow,“AP”)。Value = PRow 但它已经溢出@Rory。 – IlhamideaZ