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: vincular una celda a otra (recalculo de control)
Este tutorial de Excel explica cómo escribir una macro para vincular una celda con otra y controlar el recálculo en Excel 2003 y versiones anteriores (con capturas de pantalla e instrucciones paso a paso).
Pregunta: En Microsoft Excel 2003/XP/2000/97, ¿hay alguna forma de vincular las celdas de una columna con las celdas de otra columna? Por ejemplo, cuando ingreso un número de nota en la columna A, necesito que aparezca un valor de fecha en la columna B (en la fila correspondiente).
Después de establecer el valor de la fecha en la columna A, no quiero que cambie el valor. (es decir: el valor de la fecha debe No Se cambia cuando se abre el archivo al día siguiente. )
R: Esto se puede hacer usando macros.
Veamos un ejemplo.
Descargue la hoja de cálculo de Excel (que se muestra a continuación)
En la hoja de cálculo denominada Hoja1, colocamos código en el evento “Cambio_hoja de trabajo” para que cada vez que cambien los datos de la columna A, se actualicen las celdas asociadas de la columna B.
Puede presionar Alt+F11 para ver el código VBA.
notas: Por ejemplo, si “inserta una columna antes de la columna A, luego la elimina”, las fechas se volverán a calcular. Así que asegúrese de que la estructura de su columna sea estática antes de confiar en la vinculación de valores de fecha.
codigo macro
El código de la macro se ve así:
Private Sub Worksheet_Change(ByVal Target As Range) Dim LLoop As Integer Dim LTargetRange1 As String Dim LDestRange1 As String LLoop = 2 'Check first 200 rows in spreadsheet While LLoop <= 200 'Link column A to B LTargetRange1 = "A" & CStr(LLoop) LDestRange1 = "B" & CStr(LLoop) If Not Intersect(Range(LTargetRange1), Target) Is Nothing Then If Len(Range(LTargetRange1).Value) > 0 Then Range(LDestRange1).Value = Date Else Range(LDestRange1).Value = Null End If End If LLoop = LLoop + 1 Wend End Sub