Como poner un contador automático en excel?

Tengo los siguientes 2 problemas espero me puedan ayudar por favor.

Tengo un archivo donde llevo el control de los tickets que llegan por día. Pero me pide mi jefe que cada vez que describa el problema En la columna E al darle Enter se ponga en la columna B un contador automático por cada ticket.

También que cada vez que describa el problema en la columna E al darle Enter en automático se ponga en la columna C Abierto y cuando ponga el texto en columna K de que el ticket quedó culminado, en la columna C ahora se ponga como Resuelto.

1 Respuesta

Respuesta
3

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

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim c As Range, rng As Range
  Dim n As Variant
  '
  Set rng = Intersect(Target, Range("E:E, K:K"), Rows("2:" & Rows.Count))
  If Not rng Is Nothing Then
    Application.EnableEvents = False
    For Each c In rng
      If c.Column = 5 Then
        n = Range("B" & c.Row - 1)
        If IsNumeric(n) Then n = n + 1 Else n = 0
        Range("B" & c.Row) = n
        Range("C" & c.Row) = "Abierto"
      Else
        If LCase(c.Value) = LCase("culminado") Then
          Range("C" & c.Row) = "Resuelto"
        End If
      End If
    Next
    Application.EnableEvents = True
  End If
End Sub

Instrucciones para poner la macro en los eventos ThisWorkbook

  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 ThisWorkbook
  4. En el panel del lado derecho copia la macro

Me funcionó excelente el código solamente que en la columna K no siempre le pongo culminado ya que ahí pongo el texto de lo que se tuvo que hacer para resolver el ticket. Me apoyas nuevamente por favor.

Prueba esto:

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim c As Range, rng As Range
  Dim n As Variant
  '
  Set rng = Intersect(Target, Range("E:E, K:K"), Rows("2:" & Rows.Count))
  If Not rng Is Nothing Then
    Application.EnableEvents = False
    For Each c In rng
      If c.Column = 5 Then
        n = Range("B" & c.Row - 1)
        If IsNumeric(n) Then n = n + 1 Else n = 0
        Range("B" & c.Row) = n
        Range("C" & c.Row) = "Abierto"
      Else
        If c.Value <> "" Then
          Range("C" & c.Row) = "Resuelto"
        End If
      End If
    Next
    Application.EnableEvents = True
  End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas