Contar registros introducidos en formulario VBA

Tengo un formulario "DESPACHOS" donde voy ingresando datos constantemente en el Textbox1 (ingreso un dato (ID) aquí y puedo seguir ingresando todos los datos que necesite en este campo), que obviamente se van almacenando en la hoja nombrada "REGISTROS", en la columna 1. Lo que un contador de registros (que me vaya sumando cada ID o dato que voy introduciendo), y que este contador pueda visualizarlo en Textbox9 del formulario. Despues tengo un boton de comando que me limpia todos los campos del formulario si necesito empezar un registro nuevo: Unload Me Despachos.Show. La idea es que cada vez que empiece un registro nuevo, el contador empiece a contar desde cero y moastarme la cantidad de registros que voy tomando nuevamente en el texbox1.

1 respuesta

Respuesta
1

Que obviamente se van almacenando en la hoja nombrada "REGISTROS"

Tienes un botón para pasar los datos a la hoja "REGISTROS", puedes poner aquí ese código.

Tienes un evento Activate o Initialize, puedes poner aquí ese código.

Estimado Dante, le paso el código. En vez de hoja 8,se llama REGISTROS. Es un código que usted me había ayudado en una oportunidad:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Dim lr As Long
  If TextBox1.Value <> "" And ComboBox1.ListIndex > -1 And ComboBox2.ListIndex > -1 Then
    '
    With Sheets("Hoja8")
      lr = .Range("A" & Rows.Count).End(3).Row + 1
      .Range("A" & lr).Value = TextBox1
      .Range("B" & lr).Value = ComboBox1
      .Range("C" & lr).Value = ComboBox2
    End With
    TextBox1.Value = ""
    Cancel = True
  End If
End Sub
Private Sub UserForm_Activate()
  With ComboBox1
    .AddItem "mañana"
    .AddItem "tarde"
    .AddItem "noche"
    .TabIndex = 0
    .SetFocus
  End With
  '
  With ComboBox2
    .AddItem "Andreani"
    .AddItem "Mercado libre"
    .AddItem "Retiro en tienda"
    .TabIndex = 1
  End With
  TextBox1.TabIndex = 2
End Sub

Utiliza el siguiente código:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Dim lr As Long
  If TextBox1.Value <> "" And ComboBox1.ListIndex > -1 And ComboBox2.ListIndex > -1 Then
    '
    With Sheets("REGISTROS")
      lr = .Range("A" & Rows.Count).End(3).Row + 1
      .Range("A" & lr).Value = TextBox1
      .Range("B" & lr).Value = ComboBox1
      .Range("C" & lr).Value = ComboBox2
    End With
    TextBox1.Value = ""
    '
    TextBox9.Value = Val(TextBox9.Value) + 1
    '
    Cancel = True
  End If
End Sub
'
Private Sub UserForm_Activate()
  With ComboBox1
    .AddItem "mañana"
    .AddItem "tarde"
    .AddItem "noche"
    .TabIndex = 0
    .SetFocus
  End With
  '
  With ComboBox2
    .AddItem "Andreani"
    .AddItem "Mercado libre"
    .AddItem "Retiro en tienda"
    .TabIndex = 1
  End With
  TextBox1.TabIndex = 2
  TextBox9.Value = 0
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas