VBA代码挂在第32767行

Lyn*_*ott 0 excel vba excel-vba

我有一个包含137000多行的电子表格,这意味着我不想在每次移动时重新计算大量的excel公式.因此我创建了一系列宏来为我完成这项工作.直到最近才开始工作,它现在停在第32767行并一直挂起,直到我崩溃.我不明白发生了什么变化.希望你们中的一个聪明的人可以帮助有需要的新手.

这是我的一个潜艇的例子.我想要做的只是一个vlookup,只要它满足一定的要求,直到我达到行限制才能正常工作:

Sub FGLOH()

Dim FGLOHINT As Integer

FGLOHINT = 3

    Sheets("Calculation of Final LOH").Select
    Sheets("Calculation of Final LOH").Range("A" & FGLOHINT).Activate

Do Until IsEmpty(ActiveCell)

    Sheets("Calculation of Final LOH").Select
    Sheets("Calculation of Final LOH").Range("A" & FGLOHINT).Activate

If ActiveCell.Value = ActiveCell.Offset(-1, 0).Value Then
Sheets("Calculation of Final LOH").Range("H" & FGLOHINT).Value = 0

FGLOHINT = FGLOHINT + 1

Else

Dim FGLOH As String
FGLOH = Sheets("Calculation of Final LOH").Range("A" & FGLOHINT).Value

On Error GoTo 0
On Error Resume Next

Sheets("Calculation of Final LOH").Range("H" & FGLOHINT).Value = Application.WorksheetFunction.VLookup(FGLOH, Sheets("Work Centre LOH Lookup").Range("A2:M200000"), 13, False)

FGLOHINT = FGLOHINT + 1

End If

Loop

End Sub
Run Code Online (Sandbox Code Playgroud)

bra*_*raX 5

32767是IntegerVBA中的最大值.请Long改用.

Dim FGLOHINT As Long
Run Code Online (Sandbox Code Playgroud)