Autonumeración en un textbox

Tengo un formulario para ingresar datos, y el textbox1 es para el número de registro, lo que necesito es que ese textbox sea autonumérico.

Respuesta
2

Los controles como el textbox, el combobox, el label, toman sus valores y los cargan en memoria, cuando cargas un dato en el textbox y cierras el formulario o cierras excel ese dato se pierde, entonces para que puedas poner un número en el textbox1 necesitamos tomarlo de alguna parte, por ejemplo, podrías tener una hoja en ese libro de excel, exclusivamente para llevar el "autonúmero". Ejemplo: en la hoja llamada "autonumero" en la celda "A1" pones el número 5, entonces el textbox que lea así

textbox1 = sheets("autonumero").range("A1")

Ahora, ¿qué evento tiene que ocurrir para que ese "autonúmero" aumente en uno para presentar el nuevo número?, es decir, qué tiene que acontecer para que el número se incremente, cuando abres el formulario, en ese momento quieres que se aumente, o cuando abres el archivo, o cuando le das click a un botón.

Suponiendo que es cuando le das click a un botón, entonces sería así:

Private Sub CommandButton1_Click()
textbox1 = Sheets("autonumero").Range("A1") + 1
End Sub

Cuando finalices el formulario y guardes, entonces tienes que llevar el nuevo número a la hoja "autonumero" así:

Sheets("autonumero").Range("A1") = Sheets("autonumero").Range("A1") + 1

Entonces en la hoja quedará almacenado el número 6, la siguiente vez que ejecutes el evento te parecerá el 7

Saludos. Dam

Si es lo que necesitas.

Dam

me funciona perfecto, lo que necesito ahora es que no se pueda poner manualmente el número, osea que el textbox no se pueda modificar.

gracias por tu pronta respuesta.

Puede ser con esta instrucción

Private Sub UserForm_activate()
TextBox1.Locked = True
End Sub

Saludos. Dam
Si es lo que necesitas.

Dam

todo me funciona a la perfección, pero la autonumeración no aparece cuando abro el formulario, solo aparece después de realizar el primer registro.

gracias.

Tal vez debas ponerlo así, al momento de abrir el formulario

Private Sub UserForm_activate()
TextBox1.Locked = True

textbox1 = Sheets("autonumero").Range("A1") + 1
End Sub

Y recuerda que al cerrar el formulario deberás guardar el nuevo valor en la hoja autonumero

Prueba y me comentas si te funciona.

Saludos. Dam

Dam

perdón por la demora, funciona muy bien, solo tuve que guardar el nuevo valor de la hoja autonumero en el botón salir, ya que si lo ponía en el botón aceptar al momento de cerrar el formulario se agregaba otro número sin tener ningún registro, pero puse el código en el botón salir y todo funciona perfecto.

Gracias por tu ayuda.

excelente como siempre.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas