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

#1 Cacho
10/12/2008 - 01:09 | Informe spam
Hola! Peter. Intenta con este código:


Sub NumeraDesdeUno()
Cells(ActiveCell.Row, 1) = 1
Range(Cells(ActiveCell.Row,1), [B65536].End(xlUp).Offset(,-1)).DataSeries
End Sub


Saludos, Cacho.
Respuesta Responder a este mensaje
#2 Peter
10/12/2008 - 03:52 | Informe spam
Un gusto Cacho.
Lamento decirte que sale un error al hacer correr la macro:
Error de compilación, no se ha definido Sub o Función
Qué puede fallar?
Saludos.
Peter

"Cacho" wrote:

Hola! Peter. Intenta con este código:


Sub NumeraDesdeUno()
Cells(ActiveCell.Row, 1) = 1
Range(Cells(ActiveCell.Row,1), [B65536].End(xlUp).Offset(,-1)).DataSeries
End Sub


Saludos, Cacho.
Respuesta Responder a este mensaje
#3 Héctor Miguel
10/12/2008 - 04:28 | Informe spam
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
#4 Cacho
10/12/2008 - 04:31 | Informe spam
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.
Respuesta Responder a este mensaje
#5 Peter
10/12/2008 - 18:05 | Informe spam
Cacho
Funciona perfectamente.
Gracias.
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.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida