Como controlar una celda con macros que controle periodo y mes actual y anterior

Ojala me puedan ayudar, como puedo controlar celda indefinidamente con macros de la columna E (FECHA DE EMISIÓN) que controle periodo y mes actual y anterior. Es decir cuando trate de ingresar en la primera fecha si pongo 01/07/2020 y el periodo es 2020 y el mes 07 allí no hay problema y si el mes es menor también como por ejemplo 05/05/2020 pero su periodo 2020 en el mismo solo que el mes es menor al mes actual, todos ellos deben dejar pasar normal, el detalle es cuando ingrese una fecha pasado del mes de Agosto (08), que si ingreso 01/08/2020 me arroje un mensaje de error fecha fuera de rango.

Todas esas fecha que están allí en la hoja están correcta, porque están dentro del mismo mes 07 y periodo 2020, pero si pusiera una fecha 01/08/2020 ya me tendría que salir error y no dejarme ingresar en la celda

1 respuesta

Respuesta
2

Pon el siguiente código en los eventos de tu hoja:

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rng As Range, c As Range
  '
  Set rng = Intersect(Target, Range("E8:E" & Rows.Count))
  If Not rng Is Nothing Then
    For Each c In rng
      If c.Value <> "" Then
        If Not IsDate(c.Value) Or c.Value > WorksheetFunction.EoMonth(Date, 0) Then
          MsgBox "Entrada no permitida", vbCritical, "Error de fecha"
          Application.EnableEvents = False
          c.ClearContents
          Application.EnableEvents = True
        End If
      End If
    Next
  End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. En el panel del lado derecho copia la macro
  5. Regresa a la hoja y captura valores en la columna E.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas