Pegar varios valores en hoja 2

Esta pregunta esta relacionada con la que me habías respuesto excelentemente. Era la que tenía como asunto: pegar valores de celda por en ultima celda libre de hoja 2
No soy capaz de modificar tu macro. Es una modificación simple, esco creía, pero veo que para mi no es tan simple. Te explico:
Con tu macro ( te la pongo abajo) copio los valores de A2:C2 pero aparte también quisiera copiar A5, A6, A9, B10. Pensé que donde pone: Range ("A2:C2"). Select, solo había que poner Range ("A2, B2, C2, A5, A6, A9, B10"). Select.
Pero evidentemente yo no tengo ni idea porque me da error en la primera frase de abajo: Selection.Copy
Puedes ayudarme en mi ignorancia. Muchísimas gracias de nuevo.
Sub CopiaRango()
Dim SigFila As Long
Application.ScreenUpdating = False
Range("A2:C2").Select
Selection.Copy
Hoja2.Select
SigFila = Range("A65536").Select
ActiveCell.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Hoja1.Select
Application.ScreenUpdating = True
End Sub

1 respuesta

Respuesta
1
Dime el orden en que quieres pegar los datos en la otra hoja ya que a como lo pones no le hayo sentido. Dime si los vas a poner en una sola fila o en otro orden para poder modificar la macro.
Hola,
Perdona por no haber sido más explicito. Los pondré todos en una misma columna (uno debajo del otro). Gracias.
Me parece que no me entendiste. Necesito saber si el rango A5:A6 va primero, luego el B10 o el A9, y así sucesivamente.
Ups... vale el orden de los datos a pegar en la hoja 2 es B10, A2, B2, C2, A5, A6, A9
¿Es esto lo que necesitabas saber?
Saludos / Paco
Para que te quede en ese orden primeramente te sugiero que le hagas un espejo a las celdas (por ejemplo de M1 a S1). Que no sabes hacer un espejo, bueno solo presionas la tecla "+" y con el puntero del mouse señalas la celda que quieres. Hazlo en el mismo orden que me pones los datos y luego pones la macro con esta modificación.
Sub CopiaRango()
     Dim SigFila As Long
     Application.ScreenUpdating = False
     Range("M1:S1").Select
     Selection.Copy
     Hoja2.Select '
     SigFila = Range("A65536").Select
     ActiveCell.End(xlUp).Select
     ActiveCell.Offset(1, 0).Select
     ActiveSheet.Paste
     Application.CutCopyMode = False
     Hoja1.Select
     Application.ScreenUpdating = True
End Sub
Listo, con eso pasas los datos en el orden deseado.
Hola amigo;
Creo que no te entendí bien. Tengo que pulsar las celdas con el mouse en el orden que quiero y al mismo tiempo pulsar +.
Lo que me ocurre es que cuando pulso + encima de la celda se me cambia el valor de la celda a +
Me parece que hay algo que hago mal, porque ademas de que se me cambie el valor he hecho la prueba y no me coge el orden en el que he ido pulsando con el mouse
Perdona mi ignorancia. Gracias.
Saludos / Paco
Veo que no sabes hacer espejos. Vamos a hacer el primer espejo:
1- Nos posicionamos en la celda M1.
2- Presionamos la tecla +.
3- Ya sea con las teclas de desplazamiento (las flechas) nos desplazamos hasta la celda B10 y presionamos Enter.
Listo ya tienes un espejo de la celda B10. Si pones un valor en la celda B10, inmediatamente se reflejará en la celda M1.
Lo mismo tienes que hacer con las otras celdas en el orden que deseas que aparezcan los datos.
Otra forma de hacerlo:
Te posicionas en la Celda M1. Presionas la tecla + y luego digitas B10 y listo ya tienes el espejo.
Celda M1 -> +B10
Celda N1 -> +A2
Celda O1 -> +B2
.
.
Etc.
Tal vez te preguntes por qué si esta otra forma es más fácil y rápida no la expliqué primero. Muy simple, porque en algunas ocasiones las celdas a las cuales les queremos hacer el espejo no las sabemos exactamente.
Espero te sirva.
Hola;
Ahora ya se hacer espejos. Gracias por ampliar mis pocos conocimientos. Pero no se aplicarlos a la macro que me indicaste.
Antes de poner la macro, he hecho un espejo en la hoja 2, el siguiente:
A1 (hoja2) = M1 de la hoja 1
B1  (hoja2) = Q1 de la hoja 1
C1 (hoja2) = O1 (hoja1)
D1 (hoja2) = P1 (hoja 1)
Cuando ejecuto la macro se me pegan en la hoja 2 los valores que están puesto en M1:S1 de la hoja 1 pero se me pegan en el mismo orden que están en la hoja 1, y no en el orden en el que he hecho el espejo. Ademas si hay celdas en blanco en la hoja 1 también me aparecen en la hoja 2 y yo quisiera que estas celdas no se tuvieran en cuenta
Como veo que me cuesta entender lo que me quieres decir, y ya estarás un poco cansado de esta pregunta, pienso que lo mejor va a ser que modifique la hoja 1 de mi excel para dejar los valores en el orden en que quiero que me salgan en la hoja 2 y resolveré el problema
Dime Como lo ves para finalizar la pregunta. Gracias.
Saludos / Paco
Si te fijas el rango a copiar va de M1:S1. Ya sea que lo ejecutes desde la hojax, siempre tomará ese rango y lo pegará en la Hoja2 para luego pasar a la Hoja1. Lo que te sugiero es que el espejo que quieres hacer, hazlo desde la Hoja1 y en el rango que te puse (M1, N1, etc.), para que luego los copies a la Hoja2 en ese orden.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas