necesito ayuda

04/10/2003 - 13:42 por Luis Mari | Informe spam
Hola,

Necesito que un campo de una tabla excel tenga un contador. Quiero hacer
facturas, tengo la plantilla preparada pero necesito que cuando abra una
hoja para preparar nueva factura, mire en la carpeta donde guardo las
facturas la cantidad de excel que hay y ponga el nº siguiente, es decir, que
me numere las facturas.
¿Como se puede hacer esto??

Gracias de antemano.
Un saludo al grupo

Preguntas similare

Leer las respuestas

#6 Luis Mari
07/10/2003 - 12:42 | Informe spam
Hola de nuevo:
F0001 funciona pero la que seria 1001,1002, etc no funciona sigue numerando
2, 3,4,etc.
¿Puede ser que esté el código con algun error?
Gracias por todo.

"Fernando Arroyo" escribió en el mensaje
news:O3DwNC#
"Luis Mari" escribió en el mensaje
news:blp2c0$dri$
Bien, estupendo
Funciona, pero ahora, ¿puede ser que el contador empiece por


1001,1002,1003,
etc
El caso es que tengo dos plantillas diferentes y quiero que unas facturas
empiecen por 1000 y las otras por F0001, F0002
Donde se le indica eso.
Yo, como te dije, me dedico al diseño mecánico. Si puedo hacer algo por


tí,
me lo dices. Estoy muy agradecido.
La ruta de la carpetas y la celda ya se modificarlo. Ahora me faltaría el
contador.

Muchísimas gracias.
Que tengas un buen día.





Hola de nuevo, y gracias por tu amabilidad. Espero que te vaya muy bien en
tu nueva empresa.

Respecto al código, tendrás que cambiarlo para hacer lo que necesitas, pero
sólo a partir de la instrucción Private Sub Workbook_Open(). Lo mejor es que
borres el código a partir de esa línea (ella incluida), y lo sustituyas por
el que te pongo a continuación.

Éste sería para la serie que debe empezar en 1000:


Private Sub Workbook_Open()
If Me.FileFormat = xlTemplate Or Me.Path <> "" Then Exit Sub

Dim fsB As FileSearch
Dim intNuevoNúmero As Integer
Set fsB = Application.FileSearch

With fsB
.NewSearch
.LookIn = strRuta
.SearchSubFolders = False
.Filename = "Fact*.xls"
If .Execute(SortBy:=msoSortByFileName,
sortorder:=msoSortOrderDescending) = 0 Then intNuevoNúmero = 1000 Else
intNuevoNúmero = Val(Mid(.FoundFiles(1), Len(.LookIn) + 6, 4)) + 1
End With

Me.Worksheets("Hoja1").Range("A1") = intNuevoNúmero 'El número de
factura se pondría en A1
strNombreLibro = strRuta & "Fact" & intNuevoNúmero
ActiveWindow.Caption = strNombreLibro & " - Sin guardar"

Set fsB = Nothing
End Sub


Y éste para la serie que debe comenzar en F0001:


Private Sub Workbook_Open()
If Me.FileFormat = xlTemplate Or Me.Path <> "" Then Exit Sub

Dim fsB As FileSearch
Dim intNuevoNúmero As Integer
Set fsB = Application.FileSearch

With fsB
.NewSearch
.LookIn = strRuta
.SearchSubFolders = False
.Filename = "FactF*.xls"
If .Execute(SortBy:=msoSortByFileName,
sortorder:=msoSortOrderDescending) = 0 Then intNuevoNúmero = 1 Else
intNuevoNúmero = Val(Mid(.FoundFiles(1), Len(.LookIn) + 7, 4)) + 1
End With

Me.Worksheets("Hoja1").Range("A1") = "F" & Right("000" & intNuevoNúmero,
4) 'El número de factura se pondría en A1
strNombreLibro = strRuta & "FactF" & Right("000" & intNuevoNúmero, 4)
ActiveWindow.Caption = strNombreLibro & " - Sin guardar"

Set fsB = Nothing
End Sub


Los nombres de los libros empezarán por Fact y FactF.
Un saludo.


Fernando Arroyo
MS MVP - Excel
Respuesta Responder a este mensaje
#7 Fernando Arroyo
07/10/2003 - 13:15 | Informe spam
Es una tontería, pero suficiente para que no funcione. Cambia la línea

.Filename = "Fact*.xls"

por

.Filename = "Fact????.xls"

El problema era que el patrón Fact*.xls lo cumplen también los libros que empiezan por FactF.
Un saludo.


Fernando Arroyo
MS MVP - Excel



"Luis Mari" escribió en el mensaje news:blu5bf$32k$
Hola de nuevo:
F0001 funciona pero la que seria 1001,1002, etc no funciona sigue numerando
2, 3,4,etc.
¿Puede ser que esté el código con algun error?
Gracias por todo.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida