Generar un folio automático al ingresar datos en excel mediante un formulario.

Tengo un pequeño problemita para generar un folio consecutivo, ingreso datos en el excel mediante un formulario, los datos se van agregando en la fila 4 en la ultima celda que es la L4 se agrega la fecha en automático al ingresar el ultimo dato del formulario, tengo tres botones en mi formulario AGREGAR, LIMPIAR Y SALIR al momento de dar el de agregar los datos del formulario pasan a la fila 5, se limpian los campos de formulario y al escribir de nuevo en el se posiciona en la fila 4.

Mi intención es que el momento de dar agregar los datos de cree el folio de los datos que se agregan, la estructura del folio es la siguiente: A-2013-000000-ME

Los datos A, 2013 y ME son fijos lo único que cambia es la numeración espero y alguien me pueda ayudar

1 Respuesta

Respuesta
1

Como estás intenta hacer que cuando guardes los datos te sume en una variable por ej. contá el número de dato que corresponde.

Luego contatenas esa variable con los otros datos

eje Sheets("hoja1").cells(fila,2)= variable1 & varoable2 & contá & variable3

Fijate y me comentas, entra a www.programarexcel.blogspot.com y baja ejemplos que te pueden ser de utilidad para lo que estás haciendo, luego me comentas.

Hola cheque las instrucciones que me enviaste pero ahi viene el pero como guardo el valor en la variable.

mas o menos ya estoy desmenuzando el problema el inicio de mi folio va hacer en A3 que comenzara en 000000 al introducir datos en la fila A2 y guardar esos datos en A3 tendré lo siguiente A-2013-000001-ME ese resultado se guarda en una variable me supongo y se mete un condicional if para seguir el incremento. espero que me orientes estoy empezando en esto de la programación de macros.

Muchas gracias por tu apoyo.

Esa variable de la que te hablo la guardas en el mismo procedimiento es decir supón que das aceptar y guardas los datos, que dices que eso funciona, en algún momento de la macro cuando guardas los datos debes poner una variable que guarde los resultados para luego concatenar y pegar en la celda que quieres.

Ej sub ()

Sheets("hoja1").cells(1,1) = textbox1

Sheets("hoja1").cells(1,2) = textbox2

Sheets("hoja1").cells(1,3) = textbox3

conta=1

sheets("hoja1").cells(1,4)=textbox1 & textbox2 & textbox3 & conta

end sub

Ese contador lo podes ir guardando en una celda o hacer una macro para que extraiga el num con trim o algún método para extraer la parte númerica que quieres, o lo puedes guardar en un laber (etiqueta en formulario) y le das la propiedad visible=false, creo que esto último es lo más fácil.

ok haber si me lo puedes explicar mas detallado mira e estado haciendo algunas pruebas trate de meterle un if no funciono, un do while se desbordo. Al momento de capturar los datos en la fila dos tengo un botón que guarda los datos y los pasa a la fila siguiente que es la 3 este es el código que utilizo para guardar:

Private Sub CommandButton1_Click()

Selection.EntireRow.Insert

End sub

con esta linea para hacer la impresión del texto que aparecerá en la celda

ActiveSheet.Range("A2").Value = ("I-2013-" & Folio & "-IC")

el folio es el que va a cambiar pero siempre en la misma celda ya inserte la linea entre el Selection y el En Sub si le pongo unas variables y un valor me da el numero de Folio pero al entrar una nueva linea no lo puedo incrementar

Pásame el archivo, en www.programarexcel.blogspot.com podrás enviarlo.

Tendrás tu cuenta de correo para mandártelo de favor.

Muchas Gracias

Ahi la encuentras

No me aparece sale en blanco la pagina

Te mando el código

Private Sub CommandButton1_Click()
Selection.EntireRow.Insert
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
Folio = 1
ActiveSheet.Range("A3").Value = ("I-2013-" & Folio & "-IC")
End Sub
Private Sub CommandButton3_Click()
End
End Sub
Private Sub TextBox1_Change()
Range("b3").Select
ActiveCell.FormulaR1C1 = TextBox1
End Sub
Private Sub TextBox2_Change()
Range("c3").Select
ActiveCell.FormulaR1C1 = TextBox2
End Sub
Private Sub TextBox3_Change()
Range("d3").Select
ActiveCell.FormulaR1C1 = TextBox3
End Sub
Private Sub UserForm_Click()
End Sub

Gracias por tu tiempo.

Que raro si funciona bien, bueno enviame el archivo lo necesito para ver en que parte da error [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas