arreglar macro

25/04/2010 - 21:21 por j_lete | Informe spam
Hola foreros!!
he creado esta macro para que me facilite almacenar los datos de varios
libros en una sola hoja de un libro. los datos en la hoja resumen van uno en
la fila siguiente del anterior. El problema es que con esta macro los datos
no me los copia a partir de la columna A, sino a partir de la ultima celda
con valores de la fila anterior.
¿como podría hacer para que lo copiase siempre en la columna a de la fila
siguiente?
Gracias

Sheets("Hoja2").Select
Range("A1:AK1").Copy
Workbooks.Open Filename:= _
"C:\ resultados.xls"
Range("a1").SpecialCells(xlLastCell).Offset(1, 0).PasteSpecial
xlPasteValues
Application.CutCopyMode = False

ActiveWorkbook.Save
ActiveWorkbook.Close

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
25/04/2010 - 23:22 | Informe spam
hola, !

prueba con algo +/- como lo siguiente:

workbooks.open "c:esultados.xls"
range("a65536").end(xlup).offset(1).range("a1:k1").value = _
thisworkbook.worksheets("hoja2").range("a1:k1").value
activeworkbook close, true

OJO: se entiende que la columna "a" de la primer hoja del libro "resultados" SIEMPRE contendra datos (?)

saludos,
hector.

__ OP __
he creado esta macro para que me facilite almacenar los datos de varios libros en una sola hoja de un libro.
los datos en la hoja resumen van uno en la fila siguiente del anterior.
El problema es que con esta macro los datos no me los copia a partir de la columna A
sino a partir de la ultima celda con valores de la fila anterior.
como podria hacer para que lo copiase siempre en la columna a de la fila siguiente?

Sheets("Hoja2").Select
Range("A1:AK1").Copy
Workbooks.Open Filename:= _
"C:\ resultados.xls"
Range("a1").SpecialCells(xlLastCell).Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Respuesta Responder a este mensaje
#2 j_lete
26/04/2010 - 21:39 | Informe spam
Gracias Hector!
Funciona perfectamente. La única incidencia que tengo al respecto es que
como la voy a utilizar para copiar los datos de varios libros al libro
resultados, he tenido que ponerla en el libro "personal" y hay me da error en
la linea
thisworkbook.worksheets("hoja2").range("a1:k1").value
¿que puede ser?

saludos

"Héctor Miguel" escribió:

hola, !

prueba con algo +/- como lo siguiente:

workbooks.open "c:esultados.xls"
range("a65536").end(xlup).offset(1).range("a1:k1").value = _
thisworkbook.worksheets("hoja2").range("a1:k1").value
activeworkbook close, true

OJO: se entiende que la columna "a" de la primer hoja del libro "resultados" SIEMPRE contendra datos (?)

saludos,
hector.

__ OP __
> he creado esta macro para que me facilite almacenar los datos de varios libros en una sola hoja de un libro.
> los datos en la hoja resumen van uno en la fila siguiente del anterior.
> El problema es que con esta macro los datos no me los copia a partir de la columna A
> sino a partir de la ultima celda con valores de la fila anterior.
> como podria hacer para que lo copiase siempre en la columna a de la fila siguiente?
>
> Sheets("Hoja2").Select
> Range("A1:AK1").Copy
> Workbooks.Open Filename:= _
> "C:\ resultados.xls"
> Range("a1").SpecialCells(xlLastCell).Offset(1, 0).PasteSpecial xlPasteValues
> Application.CutCopyMode = False
> ActiveWorkbook.Save
> ActiveWorkbook.Close


.

Respuesta Responder a este mensaje
#3 Héctor Miguel
27/04/2010 - 01:12 | Informe spam
hola, !

... La unica incidencia que tengo al respecto es que como la voy a utilizar para copiar los datos de varios libros al libro resultados
he tenido que ponerla en el libro "personal" y hay me da error en la linea thisworkbook.worksheets("hoja2").range("a1:k1").value
que puede ser?



cuando hay "variaciones" entre la consulta original y datos "aumentados" posteriormente, ya no resulta tan "sencillo" (adivinar y acertar)
podrias cambiar el "thisworkbook" (que se refiere al libro que contiene el modulo desde el que corre la macro en ejecucion)...
por un "activeworkbook", PERO... se estorbaria con el "workbooks.open" cuando el libro (recien) abierto se convierte en el libro activo

en tanto podemos (RE)crear un modelo y entorno "identico al tuyo"
ve si te sirve adaptar ejemplos como los de la siguiente pagina:
=> http://www.rondebruin.nl/tips.htm (seccion: Copy/Paste/Merge examples)

saludos,
hector.

__ previos __
prueba con algo +/- como lo siguiente:

workbooks.open "c:esultados.xls"
range("a65536").end(xlup).offset(1).range("a1:k1").value = _
thisworkbook.worksheets("hoja2").range("a1:k1").value
activeworkbook close, true

OJO: se entiende que la columna "a" de la primer hoja del libro "resultados" SIEMPRE contendra datos (?)

__ OP __
he creado esta macro para que me facilite almacenar los datos de varios libros en una sola hoja de un libro.
los datos en la hoja resumen van uno en la fila siguiente del anterior.
El problema es que con esta macro los datos no me los copia a partir de la columna A
sino a partir de la ultima celda con valores de la fila anterior.
como podria hacer para que lo copiase siempre en la columna a de la fila siguiente?

Sheets("Hoja2").Select
Range("A1:AK1").Copy
Workbooks.Open Filename:= _
"C:\ resultados.xls"
Range("a1").SpecialCells(xlLastCell).Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWorkbook.Close
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida