Ayuda con macro

Buenas tardes tengo una factura hecha en excel y tengo varias macros una que imprime otra que guarda en otro archivo y otro que incrementa el numero.
Lo que necesito es validar que la factura si le meto un numero de factura que ya existe me saque una advertencia al igual que cuando yo vaya a guardar la factura o sea cuando la voy a imprimir si esa factura ya existe me saque una advertencia que me diga que ese numero de factura ya existe favor cambiarla, las macros que tengo son estas.
Esta macro incrmenta el umero de la factura
Sub incre()
ActiveSheet.Range("j8").Value = ActiveSheet.Range("j8").Value + 1
End Sub
Sub limpia_impre()
esta macro guarda la factura generada en otro archivo
'inicio ********************************************************************************************
ChDir "C:\Users\Telecomunicaciones\Desktop\viviana" 'cambiar ruta en el computador que se va a manejar
Workbooks.Open Filename:="C:\Users\Telecomunicaciones\Desktop\viviana\Facturas 2010.xls" 'cambiar ruta en el computador que se va a manejar
ultima = Sheets.Count
Sheets.Add.Move after:=Sheets(ultima)
nueva = Sheets.Count
ActiveWindow.DisplayGridlines = False
Windows("libro1.xls").Activate 'cambiar nombre de archivo donde dice libro1
Cells.Select
Selection.Copy
Windows("Facturas 2010.xls").Activate 'cambiar nombre de archivo donde dice facturas 2010
ActiveSheet.Paste
Range("g12").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("a1:j57").Select
Sheets(nueva).Name = "Factura # " & Val(Range("j8"))
Windows("Facturas 2010.xls").Activate 'cambiar nombre de archivo donde dice facturas 2010
ActiveWorkbook.Sabe
ActiveWindow.Close
Windows("libro1.xls").Activate 'cambiar nombre de archivo donde dice libro1
'Fin *************************************************************************************************
este macro imprime y limpia registros de la factura
Application.ScreenUpdating = False
Range("A1:J57").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$J$57"
Selection.PrintOut Copies:=2
Range("C8").ClearContents
Range("C10").ClearContents
Range("E10").ClearContents
Range("C12").ClearContents
Range("E12").ClearContents
Range("B16:J45").ClearContents
FormulaR1C1 = "=TODAY()"
ActiveSheet.Range("j8").Value = ActiveSheet.Range("j8").Value + 1
Range("e4").Select
Application.ScreenUpdating = True
End Sub
Ayuda por favor

1 Respuesta

Respuesta
1
Bueno te recomiendo que realices un procedimiento al final del almacenamiento de la factura en el archivo nuevo, es que lo organice de la A a la Z, entonces al finalizar haz una macro que funcione como vereficador, invoque la ultima factura almacenándola en un valor para esto emplea algo como:
dim i as double
dim column as integer
dim row as integer
i = false
Column = (acá pones el valor de la columna donde empezará a buscar, ejemplo: si es A sería 1, si es B es 2 y así)
Row = (acá pones el valor de la fila donde empezará a buscar, ejemplo: si es A1 sería 1, si es B1 sigue siendo 1 si es A2 es 2 y así)
do while i=false
cells(row,column).activate
if val(textbox1.value) = cells(row,column).value then 'TEXTBOX1 SE REFIERE A DONDE INSERTES EL NUMERO DE LA NUEVA FACTURA
x = msgbox("Tienes repetida la factura modificala";vbokonly +vbquestion;"Se detendra la operacion")
else
     if cells(row, column) <> "" then
     row = row + 1
     else
     i = true
     'aca insertas el procedimiento cuando si esta bien el numero insertado
     end if
end if
loop
Y listo un abrazo y aprovecho para recomendarte esta página experta en macros en cursos y desarrollo de programas es impecable, la página es www.ayconcol.com o inscríbete gratis en www.ayconcol.com/foro saludos espero te sirva chau!
Hola no soy muy bueno para los macros le podrían enviar la factura y me podría colaborar se lo agradecería deme un correo donde la pueda enviar.
Gracias
ok mi correo es [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas