Ayuda con una macro para copiar un rango en una fila y pegarla en otra hoja

Que tal necesito de su ayuda con una macro que haga lo siguiente:

Que copie el rango de la fila (B8:G8) de la hoja1, lo pegue en otra hoja en el rango (C10:H10), y que al agregar un dato nuevo en primero lo copie en la hoja2 pero en la parte de abajo de este rango (C11:H11), y asi sucesivamente, ademas que lo pegue como valor ya que en el primer rango tengo una formula, y para rematar no quiero que le quite la formula al primer rango,

Se que puedo contar con su ayuda ya que tengo 2 semanas con este problema y se ma acaba el tiempo es por eso que pido su ayuda...

1 respuesta

Respuesta
1

Y para rematar no quiero que le quite la formula al primer rango,?

¿Es decir deseas conservar la formula en el registro agregado? ( Hoja2), si es asi no entiendo por que solicitas copiar y pegar como valor

quiero pegar el rango en la hoja2 como valor y conservar la formula del rango de la hoja1

es decir:
que copie el rango (B8:G8) de la hoja 1 (que tiene formula), lo pegue en la hoja 2 en (C10:H10) como valor, y que al agregar un dato nuevo en primero( (B8:G8) de la hoja 1)) lo pegue igual como valor pero en la parte de abajo de este rango es decir en: (C11:H11), y asi sucesivamente,

te agradezco por tu pronta respuesta.

Entiendo. Lo que deseas en utilizar el rango b8:g8 como entrada de datos para conformar una tabla en hoja2, ¿pero qué evento va a desencadenar esa accion?

Excel no cuenta con el evento keypress para enter. Entonces se vuelve un problema el intentar utilizar el evento change de la hoja, puesto que evaluaria cada cambio en la hoja.. ¿y qué pasa si editaste mal el rango?.

gracias por contestar, si no se puede hacer el cambio de hoja entonces que lo transponga en la misma hoja, lo que en realidad necesito es que los valores que se peguen lo hagan en la fila inmediata de abajo cada vez que ejecute la macro, ya que estos los sumare para tener un total de los mismos, si se puede que en un rango ej: A1:D1 quede el valor que se va a copiar (y que tiene formula de buscarv), este mismo que se pegue en otro rango ej: G1:J1(como valor) y después al ejecutar la macro nuevamente el valor de A1:D1 se copie y pegue pero ahora en G2:J2 y asi cada vez que se ejecute la macro, en la misma hoja.

en realidad eso es lo que necesito, si no cambia de hoja no importa, lo importante es que se pegue en la fila inmediata de abajo para poderlos sumar,

de antemano agradezco infinita tu ayuda, ya casi me vuelvo loco por encontrar una solución a mi dilema....gracias

El problema no es pegarlo en otra hoja o en la msma, eso es sencillo. Lo que te preguntaba era por que si pretendes
' que el rango pase en forma automatica una vez editado crea un problema al utilizar el evento change de la hoja}
' se tiene a caer en un loop. pero bueno, aca te dejo el macro, se llama copiar.. lo bas a tener que ejecutar manualmente cada vez que desees pasar los datos
' funciona asi: toma el rango indicado por ti desde la hoja 1 y lo pega en la hoja2. si en la hoja 1 no hay dato en el rango, el macro no se ejecuta

Sub copiar()
Dim f As Long
'4c7569735f50
f = Application.WorksheetFunction.CountA(Sheets(2).Range("c10:c65536")) + 11
If Application.WorksheetFunction.CountA(Sheets(1).Range("B8:g8")) = 0 Then Exit Sub
Sheets(1).Range("B8:g8").Copy
Sheets(2).Select
Sheets(2).Range("C" & f).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets(1).Select
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas