VBA Macro se bloque après 32000 lignes

J'ai une macro VBA qui copie les lignes d'une feuille de calcul dans une autre basée sur la recherche de valeurs dans les cellules en 3 colonnes. La macro fonctionne, mais se bloque lorsqu'il atteint la ligne 32767. Il n'y a pas de formules ou de mise en forme spéciale de cette ligne. De plus, j'ai pris la ligne, mais il se bloque toujours sur la ligne de nombre. Est-ce une limitation dans excel? Il y a quelques 43000 dans la feuille de calcul en cours de processus

Par conséquent, je demande quel est le problème avec ma macro et comment je peux l'obtenir à atteindre la fin de la feuille de calcul:

Dim LSearchRow As Integer
Dim LCopyToRow As Integer
Dim wks As Worksheet
On Error GoTo Err_Execute

Pour Chaque wks Dans des Feuilles de calcul

LSearchRow = 4
LCopyToRow = 4

ThisWorkbook.Worksheets.Add After:=Worksheets(Worksheets.Count)
Set wksCopyTo = ActiveSheet
wks.Rows(3).EntireRow.Copy wksCopyTo.Rows(3)

While Len(wks.Range("A" & CStr(LSearchRow)).Value) > 0

    If wks.Range("AB" & CStr(LSearchRow)).Value = "Yes" And wks.Range("AK" & CStr(LSearchRow)).Value = "Yes" And wks.Range("BB" & CStr(LSearchRow)).Value = "Y" Then

        Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select
        Selection.Copy


        wksCopyTo.Select
        wksCopyTo.Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow)).Select
        wksCopyTo.Paste

        'Move counter to next row
        LCopyToRow = LCopyToRow + 1
        'Go back to Sheet1 to continue searching
        wks.Select
    End If
    LSearchRow = LSearchRow + 1
Wend

Application.CutCopyMode = False
Range("A3").Select
MsgBox "All matching data has been copied."
Next wks
    Exit Sub
Err_Execute:
    MsgBox "An error occurred."

S'il vous plaît aider!

source d'informationauteur Andy5 | 2012-05-11