Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
MS Excel 2003: Actualizar celda cuando se hace clic en la casilla de verificación (barra de herramientas de formulario)
Este tutorial de Excel le muestra cómo escribir una macro para actualizar una celda (con capturas de pantalla e instrucciones paso a paso) cuando se hace clic en una casilla de verificación usando la barra de herramientas de formulario en Excel 2003 y versiones anteriores.
Pregunta: En Microsoft Excel 2003/XP/2000/97, ¿es posible vincular una casilla de verificación a otra celda mediante la barra de herramientas del formulario? Por ejemplo, hice una casilla de verificación y cada vez que se hace clic en la casilla de verificación, quiero que la fecha actual aparezca automáticamente en otra celda. ¿Es posible?
yo tambien quiero la fecha No Se cambia cada vez que se abre la hoja. Por ejemplo, si una celda está configurada para el 16 de julio y la hoja se abre el 17 de julio, todavía quiero que la celda diga 16 de julio.
R: Debido a que no desea que el valor de la celda cambie cuando la hoja de cálculo “recalcula”, tenemos que crear una macro para determinar cuándo se actualiza el valor de la celda.
Veamos un ejemplo.
Descargue la hoja de cálculo de Excel (que se muestra a continuación)
En nuestra hoja de cálculo, hay dos columnas: la columna A contiene una casilla de verificación y la columna B contiene la celda “enlace”.
Creamos varias casillas de verificación en la columna A, usando Barra de herramientas de formularioPara ver la barra de herramientas del formulario, seleccione Barras de herramientas > Formularios en el menú Ver.
Cuando la casilla de verificación en la columna A está “marcada”, la celda asociada en la columna B se actualiza con la fecha actual del sistema. Cuando la casilla de verificación está “desmarcada”, el valor de la celda asociada se borrará.
Esto se hace a través de una macro llamada Process_Checkbox. Puede ver las macros presionando Alt+F11.
La macro determina en qué fila está la casilla de verificación y luego “establece el valor” en la celda asociada en la columna B.
codigo macro
El código de la macro se ve así:
Sub Process_CheckBox() Dim cBox As CheckBox Dim LRow As Integer Dim LRange As String LName = Application.Caller Set cBox = ActiveSheet.CheckBoxes(LName) 'Find row that checkbox resides in LRow = cBox.TopLeftCell.Row LRange = "B" & CStr(LRow) 'Change date in column B, if checkbox is checked If cBox.Value > 0 Then ActiveSheet.Range(LRange).Value = Date 'Clear date in column B, if checkbox is unchecked Else ActiveSheet.Range(LRange).Value = Null End If End Sub