crear un generador de numeros consecutivos

06/10/2006 - 15:51 por gmorfali | Informe spam
Necesito crear un numero consecutivo en una hoja de calculo. Quiero que este
numero sea guardado cada vez que se cierre la hoja y continue la proxima vez
que se abre la hoja. ¿Es posible? ¿Como lo hago?
Gracias por la ayuda.
 

Leer las respuestas

#1 Alejandro Garcia
06/10/2006 - 16:10 | Informe spam
Mira esta respuesta que me dieron a mi, la cual me sirvio, primero la
macro ordena un listado por 3 columnas diferentes, posteriormente me
enumera las columnas que estan en el archivo secuencialmente. Para mis
necesidades esta super bien, tal vez te sirva a ti osea una guia.

hola, Alejandro !


... solo me faltaria que luego de organizar me colocara el consecutivo
correspondiente en la primera columana
pues todos los nombres estan numerados... 1, 2, 3, etc. y cuando lo
ingreso la idea es que este numero
se genere automaticamente dependiendo del lugar que quede en la hoja.
Habia pensado algo asi, ¡+1 y hacia un copiado pero cuando ingerso
una fila nueva
como copio automaticamente la formula?

1) si las 'posiciones' que ocupe cada nombre luego de la ordenacion
cambian... 'esa' formula va a mostrar 'discrepancias'

2) si prefieres que la numeracion sea por formula... modifica la del
primer registro [p.e. 'A2'] a: -> =contara($b$1:b2)-1
[solo que 'tendrias' que estar replicando la formula para cada
registro nuevo] -?-

3) si la columna 'numerada' va a ser la columna 'A'... necesitaras
cambiar las referencias para la ordenacion en la macro...
[p.e.] a las columnas donde se reflejen los datos a ordenar...
digamos... cambiar de .Columns("a") ["b" y "c"] a... ???

4) si prefieres que la 'auto-numeracion' se haga NO por formulas...
sino por 'generacion numerica progresiva'...
prueba la siguiente modificacion a la propuesta inicial [ojo con
las columnas de datos a 'sortear']...

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
With Worksheets("hoja1").Range("a1").CurrentRegion
.Sort _
Key1:=.Columns("b"), Order1:=xlAscending, _
Key2:=.Columns("c"), Order2:=xlAscending, _
Key3:=.Columns("d"), Order3:=xlAscending, _
Header:=xlYes
.Cells(2, 1) = 1
.Offset(1).Resize(.Rows.Count - 1, 1).DataSeries _
Rowcol:=xlColumns, Type:=xlLinear, Step:=1
End With
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Preguntas similares