Jump to content

Error 1004 en tiempo de ejecución - No logro encontrar el por qué, ya que sólo pasa a veces


Recommended Posts

Posted

Buenas, necesito ayuda con esta macro. La vengo usando hace ya años, pero de repente sale este error:

"Error '1004' en tiempo de ejecución", pero no consigo saber a qué se debe. Además sólo pasa de vez en cuando. ¿Alquien podría echarme una mano?

Sería en la hoja de presupuesto: creando capítulos y añadiendo partidas (es al crear nuevas partidas cuando falla).

Muchas gracias por adelantado!!

Estoy intentando subir el archivo en zip pero no me deja, ¿cómo lo podría subir?

Posted

No me deja, es demasiado grande y no sé cómo hacerlo para recortar sin tocar lo importante. Te paso la macro por escrito por si pudieras mirarla y ver si ahí está el fallo:

INSERTAR CAPÍTULO

Private Sub CommandButton3_Click()

Range("a15").Select

If Range("a15") = Empty Then

Do While ActiveCell <> Empty

ActiveCell.Offset(1, 0).Select

Loop

Worksheets("BASE PARTIDAS").Range("A20:AA23").Copy

Worksheets("PRESUPUESTO").Select

ActiveCell.Insert Shift:=xlShiftDown

ActiveCell.Offset(rowOffset:=0, columnOffset:=3).Activate

With Selection.Font

.Name = "Arial"

.Size = 14

Selection.Font.Bold = True

End With

Else

Do While ActiveCell <> Empty

ActiveCell.Offset(1, 0).Select

Loop

For x = 1 To 4

ActiveCell.FormulaR1C1 = "."

ActiveCell.Offset(1, 0).Select

Next x

Worksheets("BASE PARTIDAS").Range("A20:AA23").Copy

Worksheets("PRESUPUESTO").Select

ActiveCell.Insert Shift:=xlShiftDown

ActiveCell.Offset(rowOffset:=0, columnOffset:=3).Activate

With Selection.Font

.Name = "Arial"

.Size = 14

Selection.Font.Bold = True

End With

Gracias!!

Posted

amigo CARMENCIMI, el error 1004 tiene que ver con problemas a la hora de copiar/pegar datos en la hoja de excel, así con esta información es dificil ayudarte, sin embargo te dejo algunas recomendaciones que pudieran ayudarte

Private Sub CommandButton3_Click()

Range("a15").Select
If Range("a15") = Empty Then
'--------------------------------------------------------------------------------
'SI el rango A15 está vacio, esta instruccion DO While.... nunca se va a ejecutar
'ya que se ejecutaria si la celda activa NO esta vacia, y si está vacia
'--------------------------------------------------------------------------------
'--------------------------------------------------------------------------------
'igualmente, me imagino que esta instruccion lo que busca es la última fila con
'datos en la columna A cierto?, si es así sería mas fácil, mas rápido y mas
'seguro colocar esto:
' Range("A" & Rows.Count).End(xlUp).Select
'con esto te posicionas la última fila con datos
'--------------------------------------------------------------------------------
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
Loop

'--------------------------------------------------------------------------------
'aquí copias unos datos de otra hoja, y los insertas desde la celda activa (que
'es la última de la instruccion anterior)
'pues si debajo de esa ultima celda activa NO hay nada (todo esta vacio), es mas
'facil hacer un pegado de datos que insertarlos
'pudieras probar esto
' ActiveSheet.Paste
' o esto otro
' Selection.PasteSpecial xlPasteAll
' en vez de la línea: ActiveCell.Insert Shift:=xlShiftDown
'--------------------------------------------------------------------------------
Worksheets("BASE PARTIDAS").Range("A20:AA23").Copy
Worksheets("PRESUPUESTO").Select
ActiveCell.Insert Shift:=xlShiftDown
ActiveCell.Offset(rowOffset:=0, columnOffset:=3).Activate

'--------------------------------------------------------------------------------
'aqui puedes reemplazar
' Selection.Font.Bold = True
' por
' .Bold = True
'--------------------------------------------------------------------------------
With Selection.Font
.Name = "Arial"
.Size = 14
Selection.Font.Bold = True
End With

Else
'--------------------------------------------------------------------------------
'igualmente, me imagino que esta instruccion lo que busca es la última fila con
'datos en la columna A cierto?, si es así sería mas fácil, mas rápido y mas
'seguro colocar esto:
' Range("A" & Rows.Count).End(xlUp).Select
'con esto te posicionas la última fila con datos
'--------------------------------------------------------------------------------
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
Loop

'--------------------------------------------------------------------------------
'aquí estas colocando un punto (.) en 4 filas desde la celda activa?, sería mas
'facil con esto
' ActiveCell.Resize(4, 1).Value = "."
'--------------------------------------------------------------------------------
For x = 1 To 4
ActiveCell.FormulaR1C1 = "."
ActiveCell.Offset(1, 0).Select
Next x

'--------------------------------------------------------------------------------
'aquí copias unos datos de otra hoja, y los insertas desde la celda activa (que
'es la última de la instruccion anterior)
'pues si debajo de esa ultima celda activa NO hay nada (todo esta vacio), es mas
'facil hacer un pegado de datos que insertarlos
'pudieras probar esto
' ActiveSheet.Paste
' o esto otro
' Selection.PasteSpecial xlPasteAll
' en vez de la línea: ActiveCell.Insert Shift:=xlShiftDown
'--------------------------------------------------------------------------------
Worksheets("BASE PARTIDAS").Range("A20:AA23").Copy
Worksheets("PRESUPUESTO").Select
ActiveCell.Insert Shift:=xlShiftDown
ActiveCell.Offset(rowOffset:=0, columnOffset:=3).Activate

'--------------------------------------------------------------------------------
'aqui puedes reemplazar
' Selection.Font.Bold = True
' por
' .Bold = True
'--------------------------------------------------------------------------------
With Selection.Font
.Name = "Arial"
.Size = 14
Selection.Font.Bold = True
End With
End Sub[/CODE]

[color=#ff0000][b]nota[/b][/color]: si puedes subir una parte de tu libro (elimina lo innecesario) sería mas fácil ayudarte, suerte

Posted

Gracias Bigpetroman. Entiendo que sería mucho más sencillo de ver con el archivo, pero por más que he tratado de reducir el tamaño quitando partes de él, no consigo que sea del tamaño adecuado para adjuntar al foro. ¿Está permitido en el foro dar enlaces de "Drive"? Si se pudiera sería estupendo.

Gracias de nuevo,

Posted

Sin problemas, puedes dar enlaces de cualquier servidor externo para bajar archivos pesados. (Dropbox, Sky Drive, etc)

Esta consulta sin el archivo es imposible de resolver.

Posted

Error ejecutando la línea: ActiveCell.Insert Shift:=xlShiftDown

El error se produce porqué tienes algo así como 2.600 líneas al final de la hoja PRESUPUESTO, lo que hace imposible insertar mas datos al principio, quítalas y problema resuelto.

Archived

This topic is now archived and is closed to further replies.

  • 108 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Files

  • Download Statistics

    • Files
      184
    • Comments
      96
    • Reviews
      28

    More information about "Un juego solitario en Excel"
    Latest File
    By pegones1

    4    0

  • Crear macros Excel

  • Posts

    • Hola. Tu archivo no tiene macros. Sobre las celdas combinadas, ya que no puedes evitar su uso al no ser tus archivos, lo mejor es "des combinarlas" previo a cualquier cosa, incluso en tu misma macro (que no envías). 
    • Hola buenas tardes tengo un archivo en excel que copia varias tablas y las importa a word de manera automatica. Este selecciona las tablas en base a las filas con datos de mi columna C. pueden ser  diferentes rango de tablas. (Pero siempre mi rango es de celdas continuas y con valores continuas) Funciona muy bien. El problema que ahora tengo es que muchos archivos con tablas  tienen las celdas combinadas ya sea horizontalmento o vertical. Aqui es donde empieza mi problema ya que son formatos de origen no puedo modificarlas. Quisiera ajustar mi macro en la parte de seleccion de rango de tablas y que pueda considerar la celdas combinadas y pegarlos en word sin problema. Ya que actualmente no me pone algunas tablas o rangos, o me repite las tablas y no considera las demas. Todo esto a que en algunas no hay valores o las celdas estan combinadas.   Muchas gracias Seleccion automatica de celdas combis.xlsx
    • por si te sirve: la primera matriz (pivotarpor) al inicio los que no tienen profesor asignado (orden ascendente por omision) la segunda (2 matrices y solo unicos) en el orden de aparicion (no asignados al final) la tercera (2 matrices) omite los no asignados (tambien por orden de aparicion) unicos y suma (ayudaExcel).xlsx
    • No se si este tema va aquí, si no es así, pido disculpas. Llevo varios días dando vueltas a un fallo que me sale al exportar una tabla a xml y que no consigo resolver. El fallo que me da es que no las asignaciones no son exportables y al comprobar la asignación me dice datos no normalizados.     Libro1.xlsx
    • Buenas tardes estimado JSDJSD, muchas gracias por responder. En efecto esta parte quedo perfecta. Pero me falto indicar que la macro se ejecute dependiendo de la celda L1 ( Caliza o Mezcla). Entonces si dice Caliza aplica la macro que me enviaste, pero si dice Mezcla que haga lo siguiente: Busque el  ultimo dato de la columna K de la hoja Mezcla Adición del libro Base de datos Cementos producido 2024, con la condición de que la columna B debe ser igual a 4 y el dato lo coloque en la celda N1 de la hoja Cemento del libro Cemento. Te comento que el libro Prehomo y Base de datos Cementos producidos 2024 están en carpetas diferentes ya que estos los maneja otra área, como se enmendaría este caso por el comentarios que me enviaste de la ruta. Saludos y un fuerte abrazo   Cemento-2.xlsm
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy