Pues creo que ya lo tengo, esta es la macro.
Sub Borrar_Columnas()
Dim Hallado As Boolean
Dim Texto
Dim Ucol, Ufil, Inicio, Fin As Integer
Dim Rango As Range
Ucol = Worksheets("Hoja1").Cells(1, Cells.Columns.Count).End(xlToLeft).Column
Do
   Hallado = False
   Texto = InputBox("Introduzca el mes inicial: ")
   If Texto = "" Then Exit Sub
   Set Rango = Worksheets("Hoja1").Range(Cells(1, 1), Cells(1, Ucol)).Find(Texto, LookIn:=xlValues, lookat:=xlWhole)
   If Not Rango Is Nothing Then
      Hallado = True
      Inicio = Rango.Column
   End If
Loop Until Hallado
Do
   Hallado = False
   Texto = InputBox("Introduzca el mes final: ")
   If Texto = "" Then Exit Sub
   Set Rango = Worksheets("Hoja1").Range(Cells(1, 1), Cells(1, Ucol)).Find(Texto, LookIn:=xlValues, lookat:=xlWhole)
   If Not Rango Is Nothing Then
      Hallado = True
      Fin = Rango.Column
   End If
Loop Until Hallado
Ufil = Worksheets("Hoja1").Range("A" & Cells.Rows.Count).End(xlUp).Row
Worksheets("Hoja1").Range(Cells(2, Inicio), Cells(Ufil, Fin)) = 0
End SubAunque te pide mes inicial y final da lo mismo, si introduces primero  el final y luego el inicial hace lo mismo.
No se hasta que punto necesitas explicaciones. Se pide el nombre del primer mes hasta que es un texto que aparezca en la primera fila o pongas un nombre vacío y pulse cancelar. En estos dos últimos casos se abandona. Luego se hace lo mismo con el otro mes. Ysi los dos meses son válidos se pone a cero las columnas intermedias.
Ucol significa última columna y Ufil última fila.
Si no entiendes algo pregúntamelo. Y si ya está bien no olvides puntuar.
Ahora mismo me pongo a enviarte el fichero para que lo pruebes, ojala te sirva.