Un problema típico de los libros de Excel es la numeración automática de documentos, como pedidos, albaranes y facturas, que no puede obtenerse mediante fórmulas convencionales, sino con programación Visual Basic. Lo más sencillo es sumar uno al valor anterior de la celda que contiene el número de documento al abrir el libro. Supongamos que la celda que contiene el número de documento es A1. La solución es abrir el editor del lenguaje (Alt+F11), hacer doble clic en el árbol del margen izquierdo sobre ThisWorkbook y elegir en los cuadros de lista desplegables del margen superior del panel derecho los valores Workbook y Open. Al hacerlo se añaden automáticamente las líneas de código de apertura y cierre del evento:
Private Sub Workbook_Open()
End Sub
Entre ellas añadiremos la siguiente línea de código:
Range("A1").Value = Range("A1").Value + 1
El bloque de código completo, quedará como:
Private Sub Workbook_Open()
Range("A1").Value = Range("A1").Value + 1
End Sub
Sólo falta guardar, cerrar la ventana del editor y guardar el libro como libro de Excel con macros (extensión XLSM). En adelante, cada vez que se guarde el libro, al abrirlo de nuevo se sumará uno al número de documento. Debe tenerse cuidado de que la celda que contiene la numeración correlativa no esté protegida, porque que no podría modificarla el evento definido.
Private Sub Workbook_Open()
End Sub
Entre ellas añadiremos la siguiente línea de código:
Range("A1").Value = Range("A1").Value + 1
El bloque de código completo, quedará como:
Private Sub Workbook_Open()
Range("A1").Value = Range("A1").Value + 1
End Sub
Sólo falta guardar, cerrar la ventana del editor y guardar el libro como libro de Excel con macros (extensión XLSM). En adelante, cada vez que se guarde el libro, al abrirlo de nuevo se sumará uno al número de documento. Debe tenerse cuidado de que la celda que contiene la numeración correlativa no esté protegida, porque que no podría modificarla el evento definido.