Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Excel - Crear sentencia logica IF en macro

  Imprimir  
Vista:

Crear sentencia logica IF en macro

Publicado por Josele (2 intervenciones) el 12/08/2009 14:00:16
Como podré crear una macro con una sentencia lógica IF que evalúe dos celdas con valores monetarios en dos diferentes hojas, pero, una de dichas hojas cambia diariamente de nombre. Pongamos por ejemplo las hojas Balance diario – 120809, y la hoja Comparar. Bien, Balance diario – 120809 cambia los datos numéricos en función del día en que estamos, ayer seria Balance diario – 110809 y mañana será Balance diario – 130809, Comparar mantiene el mismo nombre.

¿ Es eso posible?

Graciasssssssssssssss
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Crear sentencia logica IF en macro

Publicado por jcs (455 intervenciones) el 13/08/2009 09:32:00
Muy buenas,

Te doy tres posibilidades distintas para que uses la que más te convenga. En los tres casos hace una resta de los valores de las celdas “A1” de la hoja “Comparar” y la hoja del día de hoy obtenida de diferentes formas.Tienes que crear un módulo en el que metas la función de las tres que desees, y luego en una celda de la hoja comparar escribir:
=compara()

1ª opción: obtiene el dato del día de hoy para determinar el nombre de la hoja (daría un error si la hoja todavía no existiera)
Function compara()
hoja = "Balance diario - " & Format(Now(), "DD") & Format(Now(), "MM") & Format(Now(), "YY")
compara = Sheets("Comparar").Range("A1") - Sheets(hoja).Range("A1")
End Function

2ª opción: utiliza siempre la última hoja
Function compara()
compara = Sheets("Comparar").Range("A1") - Sheets(Sheets.Count).Range("A1")
End Function

2ª opción: utiliza siempre la hoja 3

Function compara()
compara = Sheets("Comparar").Range("A1") - Sheets(3).Range("A1")
End Function

Espero que alguna se adapte a tus necesidades.

Un saludo. Juanjo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar