Jump to content
Cristian RC

Serie de números consecutivos sobre una celda combinada

Recommended Posts

el fin es crear una tabla (no la que os he pasado) de más de 6.000 registros. Entonces los tengo que ordenar de la forma explicada anteriormente, ya que cada registro puede ser editado y depender de más de una fila, por lo que al final me lleva a combinar, que es muy sencillo, pero luego a la hora de estirar la serie consecutiva hasta el final, no puedo

Share this post


Link to post
Share on other sites

Cristian con esto no estoy de acuerdo, desde luego tus razones tendrás

Hace 20 minutos , Cristian RC dijo:

ya que cada registro puede ser editado y depender de más de una fila, por lo que al final me lleva a combinar

Un registro debe estar contenido en una sola fila, pues las BD como tal así se manejan, no me gusta ir contra Excel (celdas combinadas son mas un mal que un bien)

Sube una muestra pequeña real de tu archivo respecto a la estructura, tal ves alguien mas, se anima

 

Saludos

Share this post


Link to post
Share on other sites

Hola, no puedo subir nada porque no está creada todavía. Os he puesto el ejemplo de excel que es lo mismo que lo que quiero hacer y solo quiero saber si se puede hacer o no y como se hace. Yo necesito una solución y espero que excel ya haya contado con algo así. 

Share this post


Link to post
Share on other sites

Hola @Cristian RC

En primera instancia, y como ya te lo ha dicho Gerson (a quien Saludo) Debes evitar las celdas combinadas como una plaga.  Me atrevería a decir que las celdas combinadas son la mayor plaga de Excel.

Ahora bien, para darte una solución, tal y como lo pides, haz lo siguiente:

1. Selecciona el rango donde necesites hacer la serie

2. Ejecuta el siguiente código, el cual puedes pegar en un módulo:

Sub SerieConCombinadas()
    Dim i&, D&
    
    If Selection.Columns.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    With Selection
        For i = 1 To .Count
            D = D + 1
            If .Cells(i).MergeCells Then
                .Cells(i) = D
                i = i + .Cells(i).MergeArea.Rows.Count - 1
            Else
                .Cells(i) = D
            End If
        Next i
    End With
    Application.ScreenUpdating = True
End Sub

¡Prueba y Comentas! ¡Bendiciones!

Share this post


Link to post
Share on other sites
En 24/2/2017 at 19:29 , Cristian RC dijo:

2. Ejecuta el siguiente código, el cual puedes pegar en un módulo

 

¿a qué te refieres con esto?

En un excel cualquiera, presiona Alt + F11 y sigue los pasos que te dan en el siguiente link:

https://excelyvba.com/crear-un-modulo-en-vba/

Una vez tengas el código en el módulo, puedes ejecutarlo desde Excel seleccionando primero el rango donde quieres la serie, luego Presionas Alt + F8 y seleccionas el nombre de la macro para ejecutarla.

De igual forma, desde el menú de macros (el que te sale después de Alt + F8), puedes seleccionar la macro, irte a Opciones y asignarle un atajo de teclado si lo requieres.

Cuando grabes el archivo, debes grabarlo como habilitado para macros para que puedas grabar la macro diseñada en tu archivo.

¡Bendiciones!

Share this post


Link to post
Share on other sites

hola Cristian RC ( G :) y J  :))

 

otra opción es que instales el add-in  Asap utilities, el cual, te servirá para hacer muchas otras cosas más..

http://www.asap-utilities.com/download-asap-utilities.php

Una vez instalado, seleccionas el rango de celdas a numerar, click derecho y escoges Asap, la opción 20.

llenas los datos, por ejemplo:

Comenzar en      1

Aumentar con      1

aceptar  .. y listo...

 

saludos,

Silvia

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.



×
×
  • Create New...

Important Information

Privacy Policy