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

#6 Tux
13/12/2006 - 14:25 | Informe spam
Ivan escribió:
Mostrar la cita
Hola Chicos :-)

Me ha interasado este hilo y cogiendo la macro original quedaria una
cosa asi y luego adaptandola un poco claro esta :-)

Sub UnaPrueba()

Dim i As Integer
Dim x As Integer

x = 1

For i = 1 To Sheets.Count

For Each celda In Sheets(i).Range("B5:B29")


If celda <> 0 Then

Cells(x, 1) = celda

x = x + 1

End If
Next

Next

End Sub

Este codigo que he adaptado del que MK nos a ofrecido en el primer hilo
coge en [mi ejemplo] coge de todas las hojas de un mismo libro coge el
rango B5:B29 y copia esas celdas llenas (las vacias no) y las copia en
la hoja en la cual ejecutais la macro :-) ahora faltaria adapatarla a la
macro de MK que provaremos a ver como queda adaptada :-)

A ver si conseguimos sacarla entre todos :-)



Saludos
Monica


¡Un SAludo! :-)

www.fermu.com
www.zorval.es
#7 Tux
13/12/2006 - 15:24 | Informe spam
Ivan escribió:
Mostrar la cita
Hola de nuevo :-)

Bien he apañado el codigo asi :-)

Teniendo habierto el libro donde se quieren llevar los datos, en este
caso teniendo abierto el libro:

Plantilla_act_news_BETA 3.xls en la hoja donde se quieran copiar esos
datos si es la hoja matriz pues nos situamos en esa hoja y le damos a
ejecutar la macro:


Sub UnaPrueba()


Workbooks.Open Filename:="F:\DIRECTORIO\LISTADOS\5024.xls"

With Sheets.Add

Dim i As Integer
Dim x As Integer

x = 2

For i = 1 To Sheets.Count

For Each celda In Sheets(i).Range("E2:F15000")


If celda <> 0 Then

Cells(x, 1) = celda

x = x + 1

End If
Next

Next

Windows("5024.xls").Activate
Columns("A:A").Copy
Windows("Plantilla_act_news_BETA 3.xls").Activate
Columns("A:A").Select
ActiveSheet.Paste
Range("D1").Select

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


End Sub


ESte codigo hace que agrega una hoja en libro "5024.xls" donde unifica
en la columna A2 todos los datos de todas las hojas que existan en ese
libro, por el rango por ejemplo E2:F15000 y lo pone uno debajo de otro
en la columna A a partir de la fila 2. Bien, luego de esto hace una
copia de dicha columna y la pega en la columna A de nuestro libro
abierto osease Plantilla_act_news_BETA 3.xls (estando nosotros en la
hoja que nos interesa copiar esos datos) .

No se si me he explicado muy bien o quizas haya acabado de liarla un
poco mas :-(

Y el final del codigo como hemos cerrado es libro sin realizar cambios
pues logicamente esa hoja que hemos agregado no existira en el libro
"5024.xls"

Bueno ya me comentais ok? :-)

Saludos
MOnica



¡Un SAludo! :-)

www.fermu.com
www.zorval.es
#8 Tux
13/12/2006 - 15:35 | Informe spam
Tux escribió:
Mostrar la cita
Perdon :-)

Si solo son dos rangos lo que se quieren coger en esta linea seria asi:


For Each celda In Sheets(i).Range("E2:F15000")

Pasaria a ser asi :


For Each celda In Sheets(i).Range("E2", "F15000")


Bueno ya me comentais ok? :-)

Saludos
Monica


¡Un SAludo! :-)

www.fermu.com
www.zorval.es
#9 Tux
13/12/2006 - 15:51 | Informe spam
Ivan escribió:
Mostrar la cita
...

Perdon, perdon, perdon, pero creo que me he liado de hilo y lo que es
mas los he unido ¡ay dios ! ¡que verguenza! :-P

Perdon Ivan y perdon MK Me he liado entre hilos (si es que no se puede
abarcar mas de lo que se puede :-(

Perdon perdon! :-S

Saludos
Monica




¡Un SAludo! :-)

www.fermu.com
www.zorval.es
#10 Tux
13/12/2006 - 16:39 | Informe spam
Mk escribió:
Mostrar la cita
Hola de nuevo :-)

Aqui te dejo despues de toda la que he liado el codigo para que lo
pruebes :-)

Y de nuevo mil perdones para Ivan y para Ti MK :-)




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").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

End Sub


Saludos
Monica

¡Un SAludo! :-)

www.fermu.com
www.zorval.es
Ads by Google
Search Busqueda sugerida