Macro copia pega que no funciona

12/12/2006 - 00:55 por Mk | Informe spam
Buenas!

Para algunos de vosotros la siguiente consulta será muy sencilla pero es
algo que no logro solucionar, a ver si me podeis ayudar.

Tengo una macro tal que:

Private Sub CommandButton30_Click()

Worksheets(1).Visible = True

Workbooks.Open Filename:="F:\DIRECTORIO\LISTADOS\5024.xls"
ActiveWorkbook.Sheets(Array(2)).Select
ActiveSheet.Activate
Range("E2", "F15000").Select
Selection.Copy

Windows("Plantilla_act_news_BETA 3.xls").Activate
ActiveWorkbook.Sheets("Matriz").Activate
ActiveSheet.Paste Destination:=Worksheets("Matriz").Range("A2")

Application.DisplayAlerts = False
Workbooks("5024.XLS").Close SaveChanges:=False

ActiveSheet.Visible = False
End Sub


Cuando estaba creando la macro todo ok, cierro el libro, lo guardo y al
abrirlo de nuevo para probar la macro me da error. ¿Alguna idea o ejemplo?.

Muchas gracias.

Mk

Preguntas similare

Leer las respuestas

#11 Ivan
14/12/2006 - 00:40 | Informe spam
hola Monica,

a la espera de que Mk nos comente como le esta yendo (me da la
impresion que se trata de un error de sintaxis, bien en la escritura de
las rutas de los archivos, bien en el uso de 'Array(2), aunque hay una
cosa que me escama -> el uso de Windows ¿nos puedes explicar (Mk) si
tiene algun motivo especial, o si hay hojas de graficos en alguno de
los libros?)

lo dicho, a la espera de Mk, me imagino que tus respuestas iniciales
eran para el tema "Buscar celdas no vacias en un rango y copiarlas en
otra hoja". Pues por aqui cerca anda el tema si quieres animarte.

en cuanto a la ultima macro que propones, me da la impresion (desde mi
punto de vista, que te aseguro que es muy limitado) de que quizas abusa
un poco de activar/desactivar objetos, teniendo en cuenta que
cualquiera de las acciones que realiza se pueden realizar (creo)
perfectamente sin necesidad de ello,

Y si no me equivoco ( que es muy posible que si) el ab/uso de
de/seleccionar y des/activar rangos y hojas se puede traducir en una
ralentizacion de la ejecucion, aparte de conllevar algun riesgo mas (y
de nuevo solo creo) como recalculos de formulas, si las hay, y quizas
otros

bueno, en cualquier caso, encantado de saludarte, y en cuanto tenga
otro rato echare un ojo a tus propuestas

un saludo y hasta pronto
Ivan

PD hola Mk, si andas por ahí, cuando puedas nos aclaras como te ha ido
el tema, por quitarnos el gusanillo
Respuesta Responder a este mensaje
#12 Mk
14/12/2006 - 01:26 | Informe spam
Ivan escribió:
hola Monica,

a la espera de que Mk nos comente como le esta yendo (me da la
impresion que se trata de un error de sintaxis, bien en la escritura de
las rutas de los archivos, bien en el uso de 'Array(2), aunque hay una
cosa que me escama -> el uso de Windows ¿nos puedes explicar (Mk) si
tiene algun motivo especial, o si hay hojas de graficos en alguno de
los libros?)

lo dicho, a la espera de Mk, me imagino que tus respuestas iniciales
eran para el tema "Buscar celdas no vacias en un rango y copiarlas en
otra hoja". Pues por aqui cerca anda el tema si quieres animarte.

en cuanto a la ultima macro que propones, me da la impresion (desde mi
punto de vista, que te aseguro que es muy limitado) de que quizas abusa
un poco de activar/desactivar objetos, teniendo en cuenta que
cualquiera de las acciones que realiza se pueden realizar (creo)
perfectamente sin necesidad de ello,

Y si no me equivoco ( que es muy posible que si) el ab/uso de
de/seleccionar y des/activar rangos y hojas se puede traducir en una
ralentizacion de la ejecucion, aparte de conllevar algun riesgo mas (y
de nuevo solo creo) como recalculos de formulas, si las hay, y quizas
otros

bueno, en cualquier caso, encantado de saludarte, y en cuanto tenga
otro rato echare un ojo a tus propuestas

un saludo y hasta pronto
Ivan

PD hola Mk, si andas por ahí, cuando puedas nos aclaras como te ha ido
el tema, por quitarnos el gusanillo



Hola a los 2!

Muchas gracias de nuevo por vuestra ayuda e interés.

La verdad es que aún no he logrado que me funcione la macro. Lo que
pretendo con la macro es relativamente sencillo, al menos en la teoría.

En un principio he añadido un botón en una hoja ("Resumen") del fichero
"Plantilla_act_news_BETA 3" que debería copiar dos columnas o un rango
muy amplio ("E2:F15000") de otro fichero ("5024.xls")en la columna A y B
de la hoja oculta ("Matriz") que se encuentra en el fichero
"Plantilla_act_news_BETA 3").

El fichero no contiene gráficos y si que es cierto que he modificado el
código conscientemente para "des/activar" rangos incluso cuando no fuese
necesario (asumiendo como bien dices que se ejecutase mas lentamente)
porque consultando en la ayuda de v.basic de excel menciona o al menos
yo he entendido que es muy importante des/activar los rangos para que
funcione correctamente.

De todos modos he probado de varias maneras y no logro avanzar. Hace
unos minutos he probado con el código de Tux y nada de nada. He
realizado una pequeñísima modificación y se refiere al rango ya que
realmente no me interesa copiar dos celdas sino el rango "E2:F15000".

Codigo:

Worksheets(1).Visible = True

Workbooks.Open Filename:="F:\DIRECTORIO\LISTADOS\5024.xls"
ActiveWorkbook.Sheets(Array(2)).Select
ActiveSheet.Activate
Range("E2:F15000").Copy
Windows("Plantilla_act_news_BETA 3.xls").Activate
Sheets("Matriz").Select
Range("A2").Select
ActiveSheet.Paste
Application.DisplayAlerts = False
Workbooks("5024.XLS").Close SaveChanges:=False

ActiveSheet.Visible = False


Lo único que obtengo ahora al ejecutar la macro es un error de código
1004, se me queda abierto el fichero 5024 y la celda a3 seleccionada.
Incluso he pensado en copiar el fichero y ejecutar la macro en otro pc
para tener mas datos.

En fín, un saludo y ya comentaré cualquier avance...

Mk.
Respuesta Responder a este mensaje
#13 Ivan
14/12/2006 - 02:51 | Informe spam
hola Mk,

en cuanto a de/seleccionar, no te lo podria asegurar, pero yo tengo la
idea mas bien contraria. No que sea malo seleccionar, sino mas bien
innecesario y poco operativo, excepto si es por un motivo concreto, o
por que la ocasion asi lo requiera

en cuanto al error no se que decirte, a mi me funcionan sin ningun
problema,

aunque no tengo mucha idea solo se me acurren estas
posibilidades/pruebas:


1.-haz un procedimiento independiente con la macro, pero ponlo en un
modulo normal, e intenta ejecutarlo directamente (con F5) a ver que
pasa, o/y se lo asignas al boton mas o menos asi

Private Sub CommandButton30_Click()
call CopiaDatos
end sub

este seria el procedimiento (pej) en un modulo normal->

Sub CopiarDatos()
Workbooks.Open Filename:="F:\DIRECTORIO\LISTADOS\5024.xls"
Sheets(Array(2)).Range("E2", "F15000").Copy _
ThisWorkbook.Sheets("Matriz").Range("A2")
Application.DisplayAlerts = False
Workbooks("5024.xls").Close False
Application.DisplayAlerts = True
End Sub

2.- ¿de donde es el boton que has insertado? bueno, la verdad es que
sobre los controles de hoja no controlo casi nada, pero puedes probar a
cambiarlo

si el boton es de la barra de controles (no la de formularios (¿o es
al reves?)) creo que no deberias tener problemas si la ruta esta bien
escrita (en cuanto a los botones no me hagas mucho caso)


3.-tambien puedes probar la/s macro/s con otros archivos (y sin
array()) a ver que pasa

y por ultimo, vuelve a revisar al milimetro el codigo copiado-> la ruta
y nombre de los archivo y hojas , los posilbles saltos de linea, alguna
omision,

no lo se, a ver si hay alguien que te pueda echar una mano

un saludo
Ivan
Respuesta Responder a este mensaje
#14 Tux
14/12/2006 - 10:47 | Informe spam
Ivan escribió:
hola Monica,

a la espera de que Mk nos comente como le esta yendo (me da la
impresion que se trata de un error de sintaxis, bien en la escritura de
las rutas de los archivos, bien en el uso de 'Array(2), aunque hay una
cosa que me escama -> el uso de Windows ¿nos puedes explicar (Mk) si
tiene algun motivo especial, o si hay hojas de graficos en alguno de
los libros?)

lo dicho, a la espera de Mk, me imagino que tus respuestas iniciales
eran para el tema "Buscar celdas no vacias en un rango y copiarlas en
otra hoja". Pues por aqui cerca anda el tema si quieres animarte.

en cuanto a la ultima macro que propones, me da la impresion (desde mi
punto de vista, que te aseguro que es muy limitado) de que quizas abusa
un poco de activar/desactivar objetos, teniendo en cuenta que
cualquiera de las acciones que realiza se pueden realizar (creo)
perfectamente sin necesidad de ello,

Y si no me equivoco ( que es muy posible que si) el ab/uso de
de/seleccionar y des/activar rangos y hojas se puede traducir en una
ralentizacion de la ejecucion, aparte de conllevar algun riesgo mas (y
de nuevo solo creo) como recalculos de formulas, si las hay, y quizas
otros

bueno, en cualquier caso, encantado de saludarte, y en cuanto tenga
otro rato echare un ojo a tus propuestas

un saludo y hasta pronto
Ivan

PD hola Mk, si andas por ahí, cuando puedas nos aclaras como te ha ido
el tema, por quitarnos el gusanillo




Hola Ivan :-)

Efectivamente eran para el Tema "Buscar Celdas no vacias en un
rango...", pero tenia abierto ese tema, luego el de MK y encima estaba
con otra macro para mi, total que hice un pupurri que ni te cuento y
cuando al rato pensando, me dije "oh, oh" !! y me di cuenta del pupurri
que hice, y luego era tu codigo de ese hilo por ahi arriba, mezclado con
el de MK , osea que me arme un jaleo con los codigos que para que las
prisas :-( . Ahora me tengo que marchar de viaje (cuestiones de trabajo)
pero el viernes estare aqui, asi que me pondre con detenimiento y
paciencia a mirar todo esto :-) y ya os comento asi aprendo yo tambien
de codigo que me gusta bastante :-)

E Igualmente Ivan encantada de saludarte y gracias ;-)

Saludos
Monica

¡Un SAludo! :-)

www.fermu.com
www.zorval.es
Respuesta Responder a este mensaje
#15 Tux
16/12/2006 - 00:36 | Informe spam
Ivan escribió:
hola Mk,

en cuanto a de/seleccionar, no te lo podria asegurar, pero yo tengo la
idea mas bien contraria. No que sea malo seleccionar, sino mas bien
innecesario y poco operativo, excepto si es por un motivo concreto, o
por que la ocasion asi lo requiera..




Hola Ivan :-)

Bien te comento que ahora me he puesto con este hilo :-)

Efectivamente tienes toda la razon demasiado select por ahi puesto, pero
te explico:

Este codigo es casi casi una grabacion de macro, mi teoria :-):

Si grabando el codigo (depurandolo un poco), siguiendo los pasos que en
teoria MK necesita (extraer dos columnas de datos en este caso
E2:F15000, y pegarlos en una nueva hoja llamada Matriz del libro en
custion, en teoria no tendria que fallarle puesto que la grabadora de
macros ha realizado el proceso correcto )

Bien entonces puse el codigo para que lo probara y ver si realmente era
por codigo o bien era por fallo de por ejemplo:

No escribir la ruta exacta del libro en cuestion en este caso 5024.xls o
por no tener los nombres de las hojas bien escritas, etc

Bien ahora yo te pregunto MK :-)

Si la ruta de tu fichero esta por ejemplo en el escritorio ¿tienes la
ruta similar a esta?

Filename:="C:\Documents and settings\usuario\Escritorio\5024.xls"

En teoria tendrias que tenerla bien puesta o no te dejaria avanzar ya
que te daria un error 1004 de no se encuetra archivo.

Siguiente punto:

Si no tuvieras la hoja matriz bien escrita te daria un error de
subindice fuera de intervalo al igual que el libro activo en cuestion
tambien daria ese error si no lo tuvieras bien escrito :-)

Pues bien voy a mirar a ver si puedo reproducir el error y ya os comento
ok? :-)

Saludos
Monica


¡Un SAludo! :-)

www.fermu.com
www.zorval.es
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida