Tengo una macro de VBA que copia las filas de una hoja de cálculo en otra según los valores encontrados en las celdas en 3 columnas. La macro funciona, pero se bloquea cuando alcanza la fila 32767. No hay fórmulas ni formateo especial en esta fila. Además, he sacado esa fila, pero todavía falla en ese número de fila. ¿Es esto una limitación en Excel? Hay algunos 43000 de la hoja que está siendo procesoVBA Macro se bloquea después de 32000 filas
Por lo tanto, pido lo que está mal con mi macro y cómo lo puedo conseguir llegar al final de la hoja de trabajo:
Dim LSearchRow As Integer
Dim LCopyToRow As Integer
Dim wks As Worksheet
On Error GoTo Err_Execute
Para Cada semanas en las hojas de
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."
Por favor ayuda!
IIRC El tipo 'Integer' de VBA tiene 16 bits de ancho. ¿Hay un 'Largo'? Yo olvido. – cHao
buscar entero en la ayuda, luego cámbielo a Long –
Gracias a todos, pero todo lo que tuve que hacer fue cambiar el tipo de datos a un largo – Andy5