pegado especial

01/03/2007 - 12:03 por Alvaro Joaristi | Informe spam
Tengo esta macro que me va copiando valores hasta que encuentra una celda en
blanco, necesito que ahora los valores me los copie en una hoja de otro libro
(tiene que crear una hoja nueva cada vez hasta detenerse)

Do Until ActiveCell = ""
ActiveCell.Range("A1:P1").Select
Selection.Copy
Application.Goto Reference:="DATOS"
ActiveSheet.Paste
Application.CutCopyMode = False
Calculate
Application.Goto Reference:="RESULTADOS"
Selection.Copy
Sheets("DATOS").Select
Selection.End(xlToRight).Select
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.End(xlToLeft).Select
ActiveCell.Offset(1, 0).Range("A1").Select

Loop


Muchas gracias

Preguntas similare

Leer las respuestas

#1 Abraham
01/03/2007 - 20:01 | Informe spam
Y que vas avanzando tu amigo... o estas esperando que te hagmos
todo??? no creo, no???

Abraham
Respuesta Responder a este mensaje
#2 Héctor Miguel
02/03/2007 - 04:52 | Informe spam
hola, Alvaro !

Tengo esta macro que me va copiando valores hasta que encuentra una celda en blanco
necesito que ahora los valores me los copie en una hoja de otro libro (tiene que crear una hoja nueva cada vez hasta detenerse)



[creo que] vas a necesitar comentar datos mas... 'detallados' [me explico]:
a) el codigo que expones usa DOS -> Application.Goto Reference:=...
donde se hace referencia a rangos 'nombrados' [pero no se distingue en que hoja esta cada uno] -?-
b) es mejor si comentas [+/- exactamente] el contenido y arreglo/rangos de tus hojas y las acciones que necesitas del codigo
c) te sugiero buscar alternativas que 'eviten' la seleccion 'efectiva' de hojas y rangos [<objeto>.Select incluso el Goto Reference:=...]
obtendras velocidad' en la ejecucion de tus codigos ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ el codigo expuesto __
Do Until ActiveCell = ""
ActiveCell.Range("A1:P1").Select
Selection.Copy
Application.Goto Reference:="DATOS"
ActiveSheet.Paste
Application.CutCopyMode = False
Calculate
Application.Goto Reference:="RESULTADOS"
Selection.Copy
Sheets("DATOS").Select
Selection.End(xlToRight).Select
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.End(xlToLeft).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Loop
Respuesta Responder a este mensaje
#3 Alvaro Joaristi
02/03/2007 - 10:59 | Informe spam
Gracias a todos por responder (más o menos ironicamente...) ya di con la
solución que, aunque como bien apunto Hector, aun tengo que depurar pero me
sirve para salir del paso.
En cuanto pueda os copio la solución que he usado aqui (ahora no estoy en el
PC del curro).

Un saludo
Respuesta Responder a este mensaje
#4 Alvaro Joaristi
02/03/2007 - 13:26 | Informe spam
Sub Copiar_Pegar()
Do Until ActiveCell = ""
ActiveCell.Range("A1:P1").Select
Selection.Copy
Application.Goto Reference:="DATOS"
ActiveSheet.Paste
Application.CutCopyMode = False
Calculate
Application.Goto Reference:="RESULTADOS"
Selection.Copy
Sheets("DATOS").Select
Selection.End(xlToRight).Select
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

Workbooks.Open Filename:="c:\111\fichero.xls"
Windows("RESULTADOSFICHERO.xls").Activate
Sheets.Add
Application.ActiveSheet.Move _
after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = (Sheets.Count)
Windows("fichero.xls").Activate
Sheets("Ficha del trabajador").Select
Cells.Select
Selection.Copy
Windows("fichero.xls").Activate
Sheets(Sheets.Count).Select
Cells.Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
ActiveWorkbook.Save
Windows("fichero.xls").Activate
Sheets("DATOS").Select
Selection.End(xlToLeft).Select
ActiveCell.Offset(1, 0).Range("A1").Select


Loop


End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida