Abrir la hoja del mes actual

Tengo una aplicación donde hay una hoja por cada mes del año más la de datos y la totales, lo que quisiera es que al abrir el excel se me abra en la hoja del mes actual, he puesto la siguiente fórmula pero me da error y no veo como solucionarlo

Private Sub Workbook_Open()
Dim Mes As Workbook
Dim Hoy As Date
Mes = MonthName(Datos(C2)) he puesto la fecha de hoy en esta celda
Sheets("Mes").Select

End Sub

también he probado con estas pero también me da error

 'Hoy.Value = Datos.Range(C2)
           'Hoy = Date (Month)

2 respuestas

Respuesta
3

Si lo decretas, se te cumple...

Otra forma de obtener el nombre del mes.

Sub test()
  Dim mesabreviado As String, meslargo As String
  mesabreviado = Format(Date, "mmm")
  meslargo = Format(Date, "mmmm")
End Sub

Nota: el nombre del mes estará en minúsculas.

¡Gracias! 

Aquí la importancia de conocer otros respuestas.

En la siguiente respuesta estoy utilizando la función Texto( )para obtener el mes:

Como conocer el primer y ultimo dato de una columna através de la condición de otra

Respuesta
2

Te dejo el código correcto:

Dim mes As String      
mes = MonthName(Month(Sheets("Datos").Range("C2")), False)
Sheets(mes).Select

Aclaraciónes: 

Declaraste mes como libro cuando en realidad sería el nombre de la hoja (Worksheet). Pero en realidad allí se guarda el nombre del mes por lo que sería un String.

Y como 'mes' es una variable se la nombra sin comillas dentro de Sheet.

Con 'FALSE' te devolverá al nombre completo del mes, con TRUE será en modo abreviado (feb)

También podrías utilizar directamente el día de hoy:

Dim mes As String
mes = MonthName(Month(Date), False)
Sheets(mes).Select

Sdos y no olvides valorar esta respuesta.... luego recibirás otra ;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas