Captura instantánea datos de excel

Hola quería hacer una pregunta sobre excel
estoy haciendo unas tablas con horarios, algo así como para fichar en el trabajo, en una celda hora de entrada y en otra la función ahora(), resto ambas y me da el numero de horas
ahora lo que quiero hacer es que esos datos instantáneos me los ponga en otra tabla y que permanezcan inalterables, no que al abrir la hoja de excel, me cambien, ya que ha cambiado la hora, entonces me varían irremisiblemente.
¿He tratado de hacerlo con una macro y no me sale
me puedes ayudar?
Gracias

4 Respuestas

Respuesta
1
'Primero copias los datos y hora que deseas pegar:
sheets("hojadondeingresas la hora de entrada").select
Range(selecccionarrango a copiar).select
selection.copy
'lo segundo es mirar cual es la celda de la "hoja2"(donde estas pasando los datos)
'que sigue para llenar:
sheets("hoja2").select
Range("a65536").Select
'pararse en la ultima fila llena:
Selection.End(xlUp).Select
'pararse una fila debajo
Activecell.offset(1,0).select
'ahora vamos a pegar solo los valores, mas no las formulas como tal.
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Respuesta
1
Con macros lo puedes hacer, pero me gustaría saber cómo haces con la función Ahora(), ¿cuándo se calcula esa hora?
Esto, ya que se me ocurre una forma de hacerlo mediante VBA, pero quisiera saber cómo lo haces ahora.
Yo resto en una de las celdas la función ahora menos la hora y me da el numero de horas, que es al fin y al cabo lo que me interesa.
Mi problema era automatizar esos valosres y que me les estragera a una tabla nueva cada cierto tiempo, cuando tocase un botón por ejemplo.
Gracias
Para que el valor que has calculado mediante la fórmula pase a la otra tabla como valor, debes hacerlo como pegado especial y seleccionando la opción valores. Esto mediante VBA sería algo así:
Selection.PasteSpecial Paste:=xlValues
Respuesta
1
Debes construir un macro que a medida que pase los valores a la siguiente hoja los fije como valores, a través de copiar y pegar como valor. Usa el grabador de macro para ello.
Respuesta
1
Claro, imagina que capturas 3 datos, la hora de entrada, la hora de salida y la diferencia, estos 3 datos serán siempre capturados de celdas determinadas por ejemplo A2, B2, C2 y queremos que lo pegue en una base de datos creada en la Hoja2 empezando en la columna A donde habrás puesto los nombres de cada campo en el mismo orden. Prueba esta macro y mira a ver si es lo que buscabas .
Sub Macro1()
Range("A2:C2").Select
Selection.Copy
Sheets("Hoja2").Select
Range("A6536").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas