Solo como una advertencia para usted y cualquier otro que intente hacer esto:
En este momento deberías pensar en:
- ¿Con qué frecuencia usaré esto por cliente?
- cuantos clientes hay
- ¿Cómo voy a ingresar estos artículos?
- ¿Cuántos artículos diferentes hay?
Estas son las preguntas más importantes. Lo he hecho bastante exactamente , lo que intenta hacer, para una compañía muy pequeña, con alrededor de 3 recibos por mes.
Como siempre, por favor, rápido y amp; barato & amp; excelOnly Sin embargo, nadie hizo esas preguntas arriba. Principalmente debido a barato y amp; excelOnly Y ahora, es tan obvio cuánto tiempo se pierde, cada vez que se busca, se corrige un recibo, pero principalmente cuando se agregan los artículos. Sin mencionar cuántas formas diferentes de un mismo artículo existen. Sin embargo, es posible corregir esto con Excel, pero en mi humilde opinión, un verdadero dolor. Convencido también del cutomer, un EPR ahora está configurado.
Esta es una tarea de base de datos. ¡Es como uno de los mejores ejemplos de una tarea de base de datos!
Además, esto podría incluso valer la pena en un sistema ERP para pequeñas empresas. Aquí en Alemania, te recomendaría JTL-Wawi.
Pero, si esto es un salto demasiado grande, realmente debería pensar en usar Access.
Algunas ventajas:
- puedes gestionar tus clientes
- puedes gestionar tus artículos
- Puedes mover tu comportamiento dinámico para acceder.
- Puedes gestionar tus recibos fácilmente
- Aún puedes usar Excel como tu sistema de salida.
¿Cómo funcionaría esto?
Tendrías algunas tablas, para clientes y artículos, y para recibos. La tabla de recibos conectaría a un cliente con sus artículos y otros atributos relevantes para los recibos.
Luego, puede crear un informe diseñado para un recibo básico e imprimirlo desde el acceso. O use Excel para seleccionar un recibo, obtener los datos e imprimirlos. Debido a que los datos estarían predeterminados, sabría cuántas filas / columnas están llegando y cuál es su contexto.
Sin embargo, esta rueda ya se inventó tantas veces, por lo que debería mirar las ya existentes;)
Editar
Una solución basada en su solicitud de comportamiento podría usar este intento aquí:
https://stackoverflow.com/questions/12604274/excel-vba-is-there-a-textchanging-textchanged-or-a-similar-event-or-how-to/12604570#12604570
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = clngColumnRightToLastGrade Then
Application.EnableEvents = False
'offset selection, one row down, two cols to left
Target.EntireRow.Insert (xlShiftDown) 'insert new row
Target.Offset(1, -2).Select
Application.EnableEvents = True
End If
End Sub
Usted podría, por supuesto, utilizar el Change
evento en su lugar y es posible que tenga que limitar este comportamiento al rango máximo de su lista dinámica o a la hoja de trabajo de la misma.
O simplemente haga un acceso directo por par macro accesible para ejecutar esta línea aquí:
Target.EntireRow.Insert (xlShiftDown) 'insert new row
Deberá determinar la celda seleccionada actualmente para tener la Target
distancia.