Como creo una Macro para generar números correlativos en columna "

09/12/2008 - 22:35 por Peter | Informe spam
Necesito una macro para generar números correlativos del "1" adelante en la
columna "A" y desde cualquier fila con referencia a la columna "B"; es decir
: introduczco datos en la columna "B", la cantidad de filas a utilizar es
variable y aveces tengo que eliminar la fila completa de dichos datos y
posteriormente tengo que enumerar o reenumerar en la columna "A" la cantidad
de fílas que utilicé en la columna "B". En sintesis es un contador de filas
utilizadas en la columna "B", pero éste no puede estar desde el inicio en la
columna "A" porque como lo dije, a veces tengo que eliminar cualquier fila
completa por lo que también eliminaría la fórmula de la columna "A", por tal
motivo es que necesito que sea una macro que la active una vez concluya la
introduccción de datos en la columna "B". Los números a generar estarán al
lado izquierdo de cada dato introducido de la columna "B", y acabara la
énumeración cuando ya no exista datos en la columna "B".
Saludos.
Peter

Preguntas similare

Leer las respuestas

#6 Peter
10/12/2008 - 18:08 | Informe spam
Hector,
Es una forma simple y sencila, además que no necesitas macros, pero si
elimino por error filas quedando menos de 4 filas con fórmula, tengo que
copiar nuevamente la fórmula. Me parece muy util para otros cometidos.
La automatización de las macros a veces es necesaria.
Muchas gracias por hacerme conocer la utilidad de la función DESREF().
Peter

"Héctor Miguel" wrote:

hola, Peter !

1) a partir de la version 2000 puedes habilitar la caracteristica de "extender formatos de lista y formulas"
(menu) herramientas / opciones / (fcha) modificar / (seccion) configuracion

2) con esta caracteristica habilitada, lo unico que necesitas en la columna A es una formula de auto-ajuste
con un procedimiento +/- como el siguiente (con la ventaja de que NO se requiere de macros):

a) inicia en la columna A con el primer numero (1) p.e. en la celda [A1]
b) los datos se introducen manualmente (por parte del usuario) en la columna B
c) a partir de la segunda celda "auto-numerable" (p.e. A2) usas una formula +/- como la siguiente:
[A2] =desref(b2,-1,-1)+1
d) continua introduciendo datos en las celdas de la columna B
e) necesitaras copiar (manualmente) la formula de A2 en las siguientes celdas de la columna A (+/- 4 a 6 veces mas)
f) a partir del siguiente dato que intruduzcas en la columna B, la columna A se auto-numera SIN necesidad de copiar mas la formula
g) si eliminas alguna fila previa (EXCEPTO la numeracion inicial) las formulas tambien se "auto-ajustan" para reflejar su (nuevo) numero
h) si INSERTAS una fila previa (obviamente) deberas copiar la formula correspondiente en la columna A de la fila insertada :D

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ OP __
> Necesito una macro para generar numeros correlativos del "1" adelante en la columna "A"
> y desde cualquier fila con referencia a la columna "B"; es decir: introduczco datos en la columna "B"
> la cantidad de filas a utilizar es variable y aveces tengo que eliminar la fila completa de dichos datos
> y posteriormente tengo que enumerar o reenumerar en la columna "A" la cantidad de filas que utilice en la columna "B".
> En sintesis es un contador de filas utilizadas en la columna "B", pero este no puede estar desde el inicio en la columna "A"
> porque como lo dije, a veces tengo que eliminar cualquier fila completa por lo que tambien eliminaria la formula de la columna "A"
> por tal motivo es que necesito que sea una macro que la active una vez concluya la introducccion de datos en la columna "B".
> Los numeros a generar estaran al lado izquierdo de cada dato introducido de la columna "B"
> y acabara la anumeracion cuando ya no exista datos en la columna "B"...



Respuesta Responder a este mensaje
#7 Héctor Miguel
10/12/2008 - 19:32 | Informe spam
hola, Peter !

Es una forma simple y sencila... que no necesitas macros
pero si elimino por error filas quedando menos de 4 filas con formula
tengo que copiar nuevamente la formula. Me parece muy util para otros cometidos.
La automatizacion de las macros a veces es necesaria.
... gracias por hacerme conocer la utilidad de la funcion DESREF().



(hasta donde se) todo tiene sus "pros" y "contras" (p.e.)
- si eliminas "por error"... puedes corregir usando ctrl+Z y eliminas "lo correcto"
- con la opcion de macros, "tienes que..." ejecutar la macro cada vez que agregues/elimines
(y ya no tienes la posibilidad de usar ctrl+Z)

solo son opciones/alternativas/... (como dices, segun diversas necesidades) ;)
saludos,
hector.
Respuesta Responder a este mensaje
#8 Peter
11/12/2008 - 07:17 | Informe spam
Cacho.
Tengo otra pregunta:
Es posible modificar la macro para crear el mismo efecto en cualquier celda
que yo ubique al lado izquierdo de la columna donde tengo la lista de filas
utilizadas?
Es decir no solo en la columna "A" y "B".
Saludos.
Peter

"Cacho" wrote:

Es extraño puesto que no he podido reproducir tu error.
Aplica, entonces, los siguientes pasos:

1) En el archivo en el que deseas provocar el efecto, presiona
simultáneamente las dos teclas:
<Alt> <F8>

2) En la ventana que aparecerá, en "Nombre de la macro" escribe: Prueba
y selecciona: "Crear".

3) Verás el texto

Sub Prueba()
End Sub

que reemplazarás TOTALMENTE por este otro:


Sub NumeraDesdeUno()

Cells(ActiveCell.Row, 1) = 1

Range(Cells(ActiveCell.Row,1),Range("B65536").End(xlUp).Offset(,-1)).DataSeries

End Sub


4) Cierra todas las ventanas del ambiente Visual Basic for Application en el
que te encuentras, y retorna al Excel.

5) Crea un botón de macro que ejecute la recién incorporada: NumeraDesdeUno


Fíjate -ahora- si tienes éxito.
Saludos, Cacho.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida