numerar hasta la última

05/09/2004 - 15:28 por chiri13 | Informe spam
quisiera crear un código, que me creara una columna nueva (eso ya lo he
conseguido) y después pusiera números correlativos desde el 1 hasta el
último registro que tenga (puede ser el 5 como el 225), claro el problema es
que sé numerar hasta el 255, pero no sé como hacer para que me valga para la
siguiente ocasión que tendre otro número de registros.

Gracias

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
05/09/2004 - 21:23 | Informe spam
hola, chiri !

... codigo ... creara una columna nueva ... y ... pusiera numeros ... desde el 1 hasta el ultimo registro
... que me valga para la siguiente ocasion que tendre otro numero de registros.



a) suponiendo que estas 'parado' en la celda con el 'primer' registro [listado SIN 'vacios'] y...
quieres insertar la columna a la izquierda de la celda 'activa' numerandola hasta [n] registros...
en un modulo de codigo 'normal' ==Sub InsertarColumnaNumerada()
With ActiveCell
.EntireColumn.Insert
.Offset(, -1) = 1
.Offset(1, -1) = 2
Range(.Offset(, -1), .Offset(1, -1)).AutoFill _
Range(.Offset(, -1), .End(xlDown).Offset(, -1))
End With
End Sub

b) si quieres evitar la 'necesidad' de 'estar parado' en el primer registro...
y 'sabes' que la celda con el primer registro es [p.e.] 'A2'
sustituye la referencia al inicio del bloque 'With' de: With ActiveCell a: With Range("a2")

saludos,
hector.
Respuesta Responder a este mensaje
#2 chiri13
05/09/2004 - 23:38 | Informe spam
Gracias Héctor, justo leo esto cuando acabo de conseguirlo de otra forma, la
pongo aquí por si le sirve a alguien:

Puede colocarse en una Macro, o en un evento de un botón o donde te de la
gana, yo lo he puesto en principio en una macro:

Dim ultimo As Variant
Dim Fila As Variant

Sub Macro1()


'Inserto una nueva columna
Columns("A:A").Select
Selection.Insert Shift:=xlToRight
'Selecciono el primer campo y le doy nombre Contador
Range("A1").Select
ActiveCell.FormulaR1C1 = "Contador"
'Selecciono el primer campo de la 2ª columna
Range("B1").Select
'Voy al final de esa columna con datos
Selection.End(xlDown).Select
'Voy a la izquierda del final de esa columna (de la columna contador que
está vacía)
Selection.End(xlToLeft).Select
'a la variable ultimo le doy el valor de la celda activa en ese momento
ultimo = ActiveCell.Address
'a la varible Fila le doy el valor de A2:A y parte de la cadena ultimo desde
el 4º carácter
Fila = "A2:A" & Mid(ultimo, 4)
'Selecciono el 2º campo de la columna A
Range("A2").Select
'Le doy el valor 1 a ese campo
ActiveCell.FormulaR1C1 = "1"
'Le doy valores a la columna desde 1 hasta el valor de Fila que es A2:A y el
último valor
'con esto se autonumera una nueva columna
Selection.AutoFill Destination:=Range(Fila), Type:=xlFillSeries
End Sub

Un poquillo más largo que lo tuyo pero esss miiiiioooooo (y para algo que
consigo me emociono)

Gracias Hector


"Héctor Miguel" escribió en el mensaje
news:%
hola, chiri !

> ... codigo ... creara una columna nueva ... y ... pusiera numeros ...


desde el 1 hasta el ultimo registro
> ... que me valga para la siguiente ocasion que tendre otro numero de


registros.

a) suponiendo que estas 'parado' en la celda con el 'primer' registro


[listado SIN 'vacios'] y...
quieres insertar la columna a la izquierda de la celda 'activa'


numerandola hasta [n] registros...
en un modulo de codigo 'normal' ==> Sub InsertarColumnaNumerada()
With ActiveCell
.EntireColumn.Insert
.Offset(, -1) = 1
.Offset(1, -1) = 2
Range(.Offset(, -1), .Offset(1, -1)).AutoFill _
Range(.Offset(, -1), .End(xlDown).Offset(, -1))
End With
End Sub

b) si quieres evitar la 'necesidad' de 'estar parado' en el primer


registro...
y 'sabes' que la celda con el primer registro es [p.e.] 'A2'
sustituye la referencia al inicio del bloque 'With' de: With


ActiveCell a: With Range("a2")

saludos,
hector.
Respuesta Responder a este mensaje
#3 Héctor Miguel
05/09/2004 - 23:59 | Informe spam
hola, chiri !

... justo leo esto cuando acabo de conseguirlo de otra forma [...]
Un poquillo mas largo ... pero esss miiiiioooooo (y para algo que consigo me emociono)



=> pues 'eso'... 'que ni que' :DD [y nadie te lo ha de quitar] ;)

con mis felicitaciones,
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida