Numeración automática

Como realizo una numeración automática en excel para que teniendo una plantilla, cada que se use tenga un numero continuo, dentro del formato

1 Respuesta

Respuesta
1
Disculpa el retraso, pero he estado bastante liado. Además, la pregunta es algo complicada de resolver.
Te explico cómo lo he conseguido, aunque no te aseguro que no haya un método mejor o más depurado:
Lo primero que tienes que hacer es crear una hoja de cálculo llamada 'NÚMEROS.XLS' dentro del directorio de plantillas de Office. Normalmente sería en 'C:\Archivos de programa\Microsoft Office\Plantillas'. Lo único que te afecta de este fichero es el contenido de la celda A1, ya que es lo que se va a usar como contador. Si quieres que la cuenta empiece por un número determinado ponlo, de lo contrario, pon un 1 en dicha celda (A1). El resto de la hoja lo puedes usar para lo que quieras.
Lo segundo es crear tu formato (que probablemente ya tienes hecho) y guardarlo como plantilla (fichero .XLT) en el directorio 'C:\Archivos de programa\Microsoft Office\Plantillas' con el nombre 'PLANTILLA. XLT'. Antes de grabarlo le añades código de macro para que se numere automáticamente cada vez que abras un libro nuevo basado en dicha plantilla. Para ello haz lo siguiente:
1º Ve al menú 'Herramientas', opción 'Macro', opción 'Editor de Visual Basic' o pulsa ALT-F11
2º En el editor de Visual Basic tienes que tener una ventana que pone 'Proyecto - VBAProject'. Si no te aparece ve al menú 'Ver', opción 'Explorador de proyectos'
3º En la ventana comentada, pulsa dos veces sobre 'ThisWorkBook'
4º En la ventana de código que se abre elije en la lista de la parte superior izquierda 'Workbook'
5º Por defecto te muestra el código de 'Open'. Verifícalo en la lista de la parte superior derecha. Si no estuviera 'Open' seleccionado, seleccionalo tú.
6º En la ventana de código aparece lo siguiente:
Private Sub Workbook_Open()
End Sub
Modifícalo para que quede así:
Private Sub Workbook_Open()
Dim Valor As Integer
If UCase(ThisWorkbook.Name) <> "PLANTILLA.XLT" Then
Range("A1").Select
If Range("B1").Value = 0 Then
Workbooks.Open Application.TemplatesPath + "NUMEROS.XLS"
Workbooks(Workbooks.Count).Activate
Valor = Range("A1").Value
Range("A1").Value = Range("A1").Value + 1
Workbooks(Workbooks.Count).Save
Workbooks(Workbooks.Count).Close
Workbooks(Workbooks.Count).Activate
Range("B1").Value = Valor
End If
End If
End Sub
7º Cierra el editor de Visual Basic y cierra el libro guardando los cambios.
8º ¡Ya está!. Ahora, cada vez que crees un libro usando esta plantilla, se ejecuta la autonumeración.
Con la macro tal como está pones el número en la celda B1. Si la necesitas en cualquier otra celda sólo tienes que sustituir B1 en la macro por la celda correspondiente.
Si tienes alguna duda o problema me lo dices.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas