You are on page 1of 2

- Abra el archivo en Excel - Abra el Editor de Visual Basic de Excel (Alt-F11) - En la ventana del explorador de proyectos (abre

la ventana con el menú "Ver" si no está abierto ya), busque el archivo y haga doble clic en él. - Elegir "Insertar módulo de clase" en el menú - Abrir la ventana de propiedades (Ver, propiedades) y cambie el nombre de la clase (ahora dice "Clase 1") para clsTimer. - En la ventana de código de pasta clsTimer este código: Option Explicit msCellAddress privada As String mdtEndTime privada Como Fecha La propiedad pública Obtener CellAddress () As String CellAddress = msCellAddress Fin de la Propiedad Público de la Propiedad Vamos CellAddress (sCellAddress ByVal As String) msCellAddress = sCellAddress Fin de la Propiedad La propiedad pública Obtener EndTime () Como Fecha EndTime = mdtEndTime Fin de la Propiedad Público de la Propiedad Vamos EndTime (dtEndTime ByVal As Date) mdtEndTime = dtEndTime Fin de la Propiedad - Insertar un módulo (Insertar módulo en el menú) - Pegar en el código: Option Explicit mdNextTime privada As Double mcolTimers Como Colección privada Función Pública de cuenta atrás (EndTime As Date) As Variant Dim cTimer Como clsTimer Dim sCellAddress As String sCellAddress = Application.Caller.Address (ejecución externa: = verdadero) Application.Volatile Si TypeName (Application.Caller) <> "Range" Entonces Más Si ISIN (mcolTimers, sCellAddress) Luego Establecer cTimer = mcolTimers (sCellAddress) sCellAddress mcolTimers.Remove Más Establecer cTimer = clsTimer Nueva Con cTimer . CellAddress = sCellAddress . EndTime = EndTime Fin Con End If End If Con cTimer . CellAddress = sCellAddress . EndTime = EndTime Si EndTime -. (Ahora - Int (Now))> 0 Then Cuenta atrás EndTime = -. (Ahora - Int (Now)) Más Cuenta atrás = 0

.Ahora en cualquier celda.OnTime Ahora. "UpdateTimers". False End Sub .OnTime.00)) y el formato de la celda con el tiempo.Guarde el archivo. escriba una fórmula como esta: = Cuenta atrás (Tiempo (16.OnTime. cerrarlo y abrirlo de nuevo.Calculate End Sub Sub StopTimers () mdNextTime Application. "UpdateTimers" End Sub Public Sub Auto_Close () StopTimers End Sub Sub UpdateTimers () Ahora mdNextTime = + TimeValue ("00:00:01") mdNextTime Application. strNombre As String) Dim cTimer Como clsTimer On Error Resume Next Establecer cTimer = mcolTimers (PROVEEDOR) IsIn = (Err. . La celda debe comenzar la cuenta atrás para las 00:00 (que llega a cualquier hora introducida por usted). .Add. "UpdateTimers" Application.Number = 0) cTimer Set = Nothing End Function Public Sub Auto_abrir () Application.20. sCellAddress cTimer Set = Nothing End Function Función privada ISIN (colCollection como la recogida.End If Fin Con Si mcolTimers Es Nada Entonces Establecer mcolTimers = Nueva colección End If cTimer mcolTimers.