HELP!! Error no sale cuando depuro.

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

HELP!! Error no sale cuando depuro.

Notapor Mingo » 25 Ene 2012 06:12

Buenos días.

Simplificando con el código que pongo copio una fila con un formato estético y después pongo los daros de una BBDD. Si lo ejecuto de un tirón me da un error "Error definido por la aplicación o el objeto", y rellena siempre hasta la fila 71. Y si lo hago depurando poco a poco termina sin problema sin yo cambiar nada.
No hay problemas de memoria al menos RAM.
...
While Not TabDatos.EOF

'Copiamos la fila con el formato deasea y la pegamos en su sitio
ObjHoja.Rows("2:2").Copy
ObjHoja.Paste (ObjHoja.Cells(fila, 1))

'Sobre la linea que ahora tiene el formato correcto se ponen los datos
ObjHoja.Cells(fila, 3) = TabDatos("Con01") ' Sociedad
ObjHoja.Cells(fila, 4) = TabDatos("Con02") ' Nombre de la persona
ObjHoja.Cells(fila, 5) = TabDatos("Con03") ' Categoría

fila = fila + 1

'Si estamos en el último registro o en el último pasa una diaposotiva
'copiamos el formado de linea de 4px y linea superior
Contador = Contador + 1
ContadorTotal = ContadorTotal + 1

If Contador = numMaximoFilas18px Or ContadorTotal = TabDatos.RecordCount Then
'Copiamos la fila con el formato deasea y la pegamos en su sitio
ObjHoja.Rows("5:5").Copy
ObjHoja.Paste (ObjHoja.Cells(fila, 1))

NumDiaposiBajas = NumDiaposiBajas + 1
Contador = 0
fila = fila + 1
End If

TabDatos.MoveNext

Wend
...

Muchas gracias.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Mingo
Miembro Nuevo
Miembro Nuevo
 
Registrado: 25 Ene 2012 06:05

Re: HELP!! Error no sale cuando depuro.

Notapor Mingo » 25 Ene 2012 06:38

Aunque sigo sin saber como solucionarlo como me gustaría creo que se que ocurre.

Pasa con el excel 2010 y no con versiones anteriores, es problema del portapapeles. Vamos que no le gusta mucho estas lineas en un bucle:
ObjHoja.Rows("2:2").Copy
ObjHoja.Paste (ObjHoja.Cells(fila, 1))

Optaré por darle el formato a la fila en tiempo de ejecución.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Mingo
Miembro Nuevo
Miembro Nuevo
 
Registrado: 25 Ene 2012 06:05


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados