Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Error 6: desbordamiento

publicado

Hola a todos!

Tengo un error de desbordamiento en un fichero de registro de entrada de documentación y control de sus procesos, en las macros, excepto en la de "Entrada". No consigo ver dónde casca.

Además, en la macro de entrada, comienza a buscarme la última celda a escribir, y cuando hay muchas tarda mucho. Esto lo puedo arreglar poniendo que comience en lugar desde A1 desde A1000, pero dentro de un tiempo me cascará de nuevo.

Os dejo el fichero por si pudieras echarle un vistazo.

Gracias.

Registro Contratación Vida.zip

Featured Replies

publicado

Hola Pablolin

El desbordamiento puede ser posible no por la cantidad de celdas que se recorren si no por el modo en que se hace.

Hay una linea para evitar la actualización de pantalla ,es decir anular todos los movimientos que realiza la macro ,como seleccionar,ocultar,copiar etc...

Si no se aplpica en códigos que producen mucho movimiento se consumen muchos recursos y el código no es admisible.

En el archivo adjunto tienes el código modificado.

Dentro del código está explicada cada linea ,ya verás que tampoco hace falta un bucle para encontrar la ultima celda vacía.

Registro Contratación Vida 1.rar

publicado
  • Autor

Muchas gracias!

He probado lo que dices, y para dar entrada va perfector, pero en las otras macros (Advance, Incidencia, Salida...) me sigue dando el preblema de desbordamiento...

:upset:

publicado

_

Te dejo las macros corregidas:


Dim f As Long
'---------------------------------------------
Sub salida()
Application.ScreenUpdating = False
For f = 2 To Range("A" & Rows.Count).End(xlUp).Row
If Range("A" & f) = Range("H2") Then
Range("C" & f) = Range("C2")
Range("H" & f) = Now
Exit For
End If
Next
End Sub
'---------------------------------------------
Sub ADVANCE()
Application.ScreenUpdating = False
For f = 2 To Range("A" & Rows.Count).End(xlUp).Row
If Range("A" & f) = Range("H2") Then
Range("I" & f) = "ADV"
Range("K" & f) = Now
Exit For
End If
Next
End Sub
'---------------------------------------------
Sub Incidencia()
Application.ScreenUpdating = False
For f = 2 To Range("A" & Rows.Count).End(xlUp).Row
If Range("A" & f) = Range("H2") Then
Range("I" & f) = "INC"
Range("K" & f) = Now
Exit For
End If
Next
End Sub
'---------------------------------------------
Sub Vuelta()
Application.ScreenUpdating = False
For f = 2 To Range("A" & Rows.Count).End(xlUp).Row
If Range("A" & f) = Range("H2") Then
Range("K" & f) = Now
Exit For
End If
Next
End Sub
'---------------------------------------------
[/CODE]

publicado

Hola Pablolin

Para evitar el desbordamiento:

Tienes declaradas las variables mD,f y r como rango

En la variable mD no se le asigna bien el rango ,tienes que modificar la línea:.

mD = Range("A1").CurrentRegion

por

Set mD = Range("A1").CurrentRegion

Edito:.

Entro la respuesta de Macro Antonio mientras respondía ,no vi la respuesta:.

Lo dejo para que qpuedas corregir en futuras macros el problema.

publicado
  • Autor

Muchas gracias a los 2!!

Voy a probarlo!

Gracias de nuevo!!

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.