Duda sobre código en visual basic para calcular libros de excel y condiciones para ejecutar macros

Hola, tengo los siguientes problemas.
¿Cómo es el código de visual para hacer que se me calcule el libro cada 1 minuto?
La segunda pregunta es la siguiente:
Supongamos que la celda a1 puede tener valores 1 o 2, como es el código para que si es uno se realize determinada cosa, ¿o ejecute determinado macro?
¿Y si es dos ejecute otras cosas?
Desde ya, gracias

1 Respuesta

Respuesta
1
Por defecto Excel te calcula la hoja de forma automática.
Si quieres que te lo calcule cuando tu quieras has de desactivar el cálculo automático.
¿Herramientas? ¿Opciones? ¿Calcular? Manual.
¿Para realizar el cálculo por código VBA se hace con la línea de comando? ¿Calculate?.
Si quieres que se realice en un periodo de tiempo determinado lo tienes que realizar mediante el objeto TIMER, el cual no está presente en VBA Excel, pero si en VB. Has de crear un objeto Active POR en VB que tenga el control TIMER e importarlo al VBA de Excel. Una vez importado podrás utilizar la propiedad interval y timer del objeto timer de VB en VBA.
Referente a tu segunda pregunta, el código podría ser este :
If Range("A1").Value = 1 Then
'Podemos llamar a una macro
Run macro
Else
'Podemos realizar código o llamar a una función
MsgBox "El valor es 2!"
End If
Si queremos que la hoja lo detecte de forma automática en el momento en que la celda cambie de valor lo pondremos en el evento CHANGE de la hoja:
Private Sub Worksheet_Change(ByVal Target As Range)
End sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas