Macro para almacenar datos de valor de celdas y retener el valor incluso cuando el contenido de la celda cambia.
Necesito almacenar de forma permanente el valor instantáneo de algunas celdas, B4 y B5.
Mi problema es que cuando el contenido de las celdas cambia, también lo hacen mis variables almacenadas, pero quiero que las variables mantengan los valores que tomaron por primera vez cuando se ejecuta la macro “Registrar valores instantáneos”, incluso después de introducir nuevos datos manualmente en B4 y B5, básicamente para construir un registro permanente de qué valor tenían B4 y B5 cada vez que se llama a la macro.
Esto es lo que tengo:
' Variables globales...
Global FirstCell
Global SecondCell
' ...
Sub RecordarValoresInstantáneos
FirstCell = ThisComponent.CurrentController.ActiveSheet.getCellByPosition( 1, 3 )
SecondCell = ThisComponent.CurrentController.ActiveSheet.getCellByPosition( 1, 4 )
End Sub
Sub ConsultarValoresAlmacenados
Print "FirstCell = "; FirstCell.value; ", "; "SecondCell = ";SecondCell.value
End Sub
El hecho de que haya una función “deshacer” en LO significa que el contenido de las celdas en un instante particular puede ser almacenado (en algún array presumiblemente). Aunque no quiero profundizar en eso, debe haber alguna manera sencilla de lograr lo que necesito, ¿pero cómo?
davy.ai
Para almacenar permanentemente el valor instantáneo de las celdas B4 y B5 en LibreOffice Calc, puedes crear variables globales y usar una macro para registrar los valores de las celdas en un instante específico. Para asegurarte de que estos valores se mantengan estáticos, puedes escribir los valores en una ubicación separada en la hoja de cálculo, como una hoja oculta o una hoja que no se utiliza para ingresar datos.
Aquí tienes un ejemplo de cómo puedes modificar el código proporcionado para lograr esto:
En este código modificado, los valores de las celdas B4 y B5 se registran cuando se llama a la macro
Record_Instantaneous_Values
y los valores se escriben en una hoja oculta. La macroPeek_at_stored_values
lee los valores de la hoja oculta y los muestra.Al escribir los valores registrados en una hoja separada, los valores no se ven afectados por los cambios en las celdas originales B4 y B5, lo que te permite tener un registro permanente de sus valores.