Hacer un historial para 2 celdas

Necesito hacer una historial de 2 celdas especificas por ejemplo c5 g5 quiero que estas celdas a medida que tomen valores me guarde por columnas cada uno de los valores que va tomando para hacer un resumen durante el día, yo tengo una macro hecha ya pero solo logre que fuera para una sola celda y necesito que sean los dos valores lo que pueda guardar.

1 respuesta

Respuesta
1
Escribime tu rutina aquí para que ajuste lo que falta...
Hola ante todo muchas gracias por su tiempo, le explico mi rutina, bueno en realidad ocupo esto para 3 celdas como le decía solo lo tengo para una y es lo siguiente
cada una de esas celdas toman valores que yo necesito almacenar para hacer una resumen al final del día por ejemplo
E5 yo le tecleo un código de productos
D5 la cantidad de productos
F5 el descuento del producto
Ahora cada vez que yo pongo un código es decir un numero en E5 ya logre que me almacene ese código con la macro que le pongo a continuación, pero ademas de eso quiero que también me recoja la imfomracion de las celdas D5 y F5 para al final del día poder hacer un resumen donde me coincida código con cantidad y descuento uno al aldo del otro y por columnas como lo hace dicha macro
Es decir todo es resumido a decir que yo lleno los 3 números en las 3 celdas y cuando de un clic fuera de la celda o enter vaya una copia a guardarse y cuando les pongas nuevos números borros estos y los nuevos se guardan a continuación de los anteriores
este es el ejemplo que tengo que me funciona hasta ahora pero solo con una celda
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$E$5" Then Exit Sub
    With Range("AA" & Cells.Rows.Count).End(xlUp)
        .Offset(1) = Target
        .Offset(1, 1) = Format(Now, "hh:mm:ss")
    End With
End Sub
Gracias por su tiempo ojala me pueda ayudar porque la verdad en hecho de todo encima de este código para que me traiga las otras celdas y nada
saludos tony
<div id="_mcePaste" style="position: absolute; width: 1px; height: 1px; overflow: hidden; top: 27px; left: -10000px;">?</div>
Tu rutina solo controla la celda E5, debieras controlar las otras 2 o sino ajustar la macro para que te controle la última, F y en ese momento pase los 3 campos.
Voy a optar por lo 2do.
No sé si querrás mantener la hora, así que los otros 2 campos los coloqué a continuación:
Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'cancela si no es F5, o si se limpia la celda o si se limpian varias celdas juntas (Count> 1)
If Target.Address <> "$F$5" Then Exit Sub
If Target.Count > 1 Or Target.Value = "" Then Exit Sub
'pasa las 3 col: en AA celda D, en AB la hora, en AC celda E y en AD celda F (target)
With Range("AA" & Cells.Rows.Count).End(xlUp)
    .Offset(1) = Target.Offset(0, -2)
    .Offset(1, 1) = Format(Now, "hh:mm:ss")
    .Offset(1, 2) = Target.Offset(0, -1)
    .Offset(1, 3) = Target
End With
End Sub
PD) En mi página de macros encontrarás más ejemplos con instrucciones básicas, luego podes continuar con los manuales...
Demaciado genenial le quedo muchisimas gracias de gran apuro me ha liberado llevo dias en esto, solo queria hacerle un ultima pregunta es que siempre me gusta conocer los procedimientos de manera general en este caso las celdas estan acontinuacion E5 D5 F5 si en otra momento que se va a llegar por nuevos retos que tengo de esta herramienta fuesen celdas mas separadas  por ejemplo E10 J10 J20 estar estan mas aisladas como puediera modificar la macro para que me haga exactamente lo mismo y lo guarde en el mismo lugar que ustede lo puso , es que en el cogido me fije que usted puso solo F5 y sin embargo le trae todos los valores E5 D5 , la verdad que esta genial sin palabras pero si me gustaria saber eso como es visible para la macro F5 y trae todos las valores perfecto o con el ejemplo de las celdas que le puse , pero igual muchisimas gracias por su ayuda me fue super bien y estoy muy contento son sus respuestas
Hay disculpe y olvide otra preguntica y si fuse el caso igual al anterior pero fueran 4 celdas para traer en realidad de aquí fuese donde salio mi duda porque no veía la referencia en la macro y lo vi demasiado avanzado pero por ejemplo pudiese ser como le puse E10 J10, E20 J20 en realidad este es un ejemplo que se me ocurrido como hacer lo mismo y pensé usar la misma macro cambiando los valores
Esto funciona igual E10 decide todo y todo lo demás son valores que toman a partir de lo que registre E10 en el momento y se guardan de la misma manera
muchísima gracias por todo es que quede tan contento con esto que quise desarrollar un proyecto que tenia medio detenido y si me hace esto creo que seria una éxito, gracias de ante mano y cuando tenga un tiempito me ayuda
muchas gracias nuevamente y que tenga muy buen día }
Saludos tony
En primer lugar te recomiendo que visites mi página de macros donde dejo instrucciones generales para comenzar con conceptos básicos, como el Offset(fila, col)
Target es la celda modificada, por lo tanto en este ejemplo es F5
Target. Offset(0,-2) son 2 col a izquierda por lo tanto es col DE y se pasa a la col AA (Offset(1,0) es decir que no se cambió la col
Target. Offset(0,-1) es 1 col a la izquierda del target, por lo tanto es col E y se pasa a col AA. Offset(1,2), es decir a la fila de abajo (*) pero 2 col a derecha, es decir AC
Y así vas agregando cada celda a cada col, siempre moviéndote desde la F de origen a la AA de destino y acomodando según el Offset.
(*) Se pasa a la fila de abajo porque el With solo busca la última celda con datos en col AA, y necesitas copiar el nuevo valor en la fila de abajo
Hay otras maneras quizás un poco más claras de encontrar la primer fila libre, en mi página o en otros ejemplos que he dejado aquí en el tabl´n (usa el buscador)
PD) También te recomiendo mi manual de Programación VBA... para aprender de modo ordenado.
Muy bien, gracias ya entendí como se mueven las celdas por lo que me puso y ademas que me puse a leer los manuales que me paso que están muy completos, mevoy a poner ha hacer ejemplos porque creo que esto de las macros resuelven muchos problemas en exel, pero ante todo muchas gracias por su ayuda y su tiempo dedicado
Que tenga buen ndiua saludos tony
Bien, entonces si el tema quedó resuelto debes finalizar la consulta.
Sdos
Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas