Creo que lo más apropioado sería que la macro se ejecute al abrir el libro. Por lo tanto coloqué el código en el evento Open del objeto Libro.
En tu imagen no se ven los encabezados de fila. Tendrás que ajustar las instrucciones donde dejé los comentarios.
Private Sub Workbook_Open()
'x Elsamatilde
'se selecciona la hoja de trabajo y se muestran todas las col
Sheets("Hoja1").Select '..AJUSTAR HOJA
Cells.EntireColumn.Hidden = False
'se evalúa qué día es y se busca esa fecha en fila 4
hoy = Date
Set busco = Rows("4:4").Find(hoy, LookIn:=xlValues) ....AJUSTAR FILA
If Not busco Is Nothing Then
'si se encontró la fecha se guarda en variable el nro de col
colx = busco.Column
'se ocultan todas las que siguen, si es que hay otros días
If Cells(4, colx + 1) <> "" Then '....AJUSTAR FILA
x = Cells(4, colx).End(xlToRight).Column '....AJUSTAR FILA
Range(Cells(1, colx + 1), Cells(1, x)).EntireColumn.Hidden = True
End If
'Opcional: ocultar las anteriores hasta col B (2) ...AJUSTAR AL MODELO
If colx - 1 > 1 Then
Range(Cells(1, 2), Cells(1, colx - 1)).EntireColumn.Hidden = True
End If
End If
End Sub
En cada apertura del libro se muestra la col del día ocultando las siguientes. Como 2da opción también oculta las anteriores, pero si no te hiciera falta borra esas últimas líneas de código.
Sdos. Si el tema queda resuelto no olvides votar la respuesta (buena o excelente)
Elsa
*Más eventos de Libro en el video N° 48 de mi canal.