código visual basic para facturas avanzadas

15
Hoja6 - 1 Private Sub Label1_Click() If Range("E3") = "A" Then Generalbaran Else Generafactinmediata End If End Sub Private Sub Label2_Click() UserForm5.Show End Sub Private Sub ToggleButton1_Click() If ToggleButton1.Value = True Then Range("B2").FormulaR1C1 = "Factura" Range("D3").FormulaR1C1 = "Nº Factura" Range("E26").FormulaR1C1 = "Suma Factura" Rows("27:28").EntireRow.Hidden = False Label1.Caption = "GENERAR FACTURA" Label1.Picture = LoadPicture("[ruta donde esté la imagen]”\Azul.jpg") Else Range("B2").FormulaR1C1 = ("Albarán") Range("D3").FormulaR1C1 = ("Nº Albarán") Range("E26").FormulaR1C1 = ("Suma Albarán") Rows("27:28").EntireRow.Hidden = True Label1.Caption = "GENERAR ALBARAN" Label1.Picture = LoadPicture("[ruta donde esté la imagen]”\Marino.gif") End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) ScrollArea = "A5:G30" End Sub

Upload: rubn-nbur

Post on 09-Nov-2014

55 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Código Visual Basic para Facturas avanzadas

Hoja6 - 1 Private Sub Label1_Click() If Range("E3") = "A" Then

Generalbaran Else

Generafactinmediata End If End Sub

Private Sub Label2_Click() UserForm5.Show End Sub

Private Sub ToggleButton1_Click() If ToggleButton1.Value = True Then

Range("B2").FormulaR1C1 = "Factura" Range("D3").FormulaR1C1 = "Nº Factura" Range("E26").FormulaR1C1 = "Suma Factura" Rows("27:28").EntireRow.Hidden = False Label1.Caption = "GENERAR FACTURA" Label1.Picture = LoadPicture("[ruta donde esté la imagen]”\Azul.jpg")

Else Range("B2").FormulaR1C1 = ("Albarán") Range("D3").FormulaR1C1 = ("Nº Albarán") Range("E26").FormulaR1C1 = ("Suma Albarán") Rows("27:28").EntireRow.Hidden = True Label1.Caption = "GENERAR ALBARAN" Label1.Picture = LoadPicture("[ruta donde esté la imagen]”\Marino.gif")

End If

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range) ScrollArea = "A5:G30"

End Sub

Page 2: Código Visual Basic para Facturas avanzadas
Page 3: Código Visual Basic para Facturas avanzadas

UserForm1 - 1 Private Sub CommandButton1_Click() IMPRIMIR

UserForm1.Hide

End Sub

Private Sub CommandButton2_Click()

UserForm1.Hide

End Sub Private Sub UserForm_Activate()

If Range("B2") = "Albarán" Then Label1.Caption = "¿QUIERE IMPRIMIR EL ALBARAN?" Else Label1.Caption = "¿QUIERE IMPRIMIR LA FACTURA?" End If

End Sub

Private Sub UserForm_Click()

End Sub

Page 4: Código Visual Basic para Facturas avanzadas

UserForm2 - 1 Private Sub ComboBox1_Change()

End Sub

Private Sub CommandButton1_Click() FACTURAYA

End Sub Private Sub Label1_Click()

End Sub

Private Sub Label2_Click() facturatodos End Sub

Page 5: Código Visual Basic para Facturas avanzadas

UserForm3 - 1

Private Sub CommandButton1_Click() ActiveSheet.Range("A2").Select UserForm3.Hide

End Sub

Private Sub CommandButton2_Click() ActiveSheet.Range("A2").Select UserForm3.Hide End End Sub

Page 6: Código Visual Basic para Facturas avanzadas

UserForm4 - 1 Private Sub ComboBox1_Change()

End Sub

Private Sub CommandButton1_Click()

UserForm4.Hide

End Sub

Page 7: Código Visual Basic para Facturas avanzadas

UserForm5 - 1

Private Sub Label1_Click() NUEVOCLIENTE Range("NUEVO_CLIENTE").ClearContents UserForm5.Hide End Sub

Page 8: Código Visual Basic para Facturas avanzadas

UserForm6 - 1 Private Sub Label1_Click() NUEVOCLIENTE Range("NUEVO_CLIENTE").ClearContents UserForm6.Hide End Sub

Page 9: Código Visual Basic para Facturas avanzadas

UserForm7 - 1

Módulo1 - 1

Sub nomasdatos() Sheets("Albaran").Activate Range("F8").ClearContents Range("B15:B17").ClearContents Range("D15:D17").ClearContents Range("D15:D24").Select Selection.FormulaR1C1 = "=IF(COD_ART=0,0,1)" Range("F8").Select

End Sub Sub añadealbaran() 'COPIA TODO COMO VALORES

Range("B2:F25").Copy Range("I2").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _

xlNone, SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False

End Sub Sub DATOSCLIENTE() 'COPIA DATOS DEL CLIENTE A LA HOJA Facturacion

Sheets("Albaran").Range("M3").Copy Sheets("Facturacion").Range("A2").Insert Shift:=xlDown Sheets("Albaran").Range("M2").Copy Sheets("Facturacion").Range("B2").Insert Shift:=xlDown Sheets("Albaran").Range("M6").Copy Sheets("Facturacion").Range("C2").Insert Shift:=xlDown Sheets("Albaran").Range("M8").Copy Sheets("Facturacion").Range("D2").Insert Shift:=xlDown Sheets("Albaran").Range("L3").Copy Sheets("Facturacion").Range("J2").Insert Shift:=xlDown Application.CutCopyMode = False

End Sub Sub ARTICULO1() 'lleva a facturacion

If Range("B15") = 0 Or Range("D15") = 0 Then PARAR

Else DATOSCLIENTE Sheets("Albaran").Range("I15:M15").Copy Sheets("Facturacion").Range("E2").Insert Shift:=xlDown Application.CutCopyMode = False

End If End Sub

Sub ARTICULO2() If Sheets("Albaran").Range("B16") = 0 Then

nomasdatos

Else DATOSCLIENTE Sheets("Albaran").Range("I16:M16").Copy Sheets("Facturacion").Range("E2").Insert Shift:=xlDown Application.CutCopyMode = False

End If End Sub

Sheets("Facturacion").Range("E2").Insert Shift:=xlDown Application.CutCopyMode = False

End If End Sub Sub Generalbaran()

If Range("F8") = 0 Then MsgBox ("INTRODUCIR UN CLIENTE") End

Else

If Range("B15") > 0 And Range("D15") = 0 Then

Page 10: Código Visual Basic para Facturas avanzadas

Módulo1 - 2

Sub ARTICULO3() If Sheets("Albaran").Range("B17") = 0 Then

nomasdatos Else

DATOSCLIENTE Sheets("Albaran").Range("I17:M17").Copy PARAR

ElseIf Range("B16") <> 0 And Range("D16") = 0 Then PARAR

ElseIf Range("B17") <> 0 And Range("D17") = 0 Then PARAR Else

UserForm1.Show añadealbaran ARTICULO1 ARTICULO2 ARTICULO3

nomasdatos End If

End If End Sub

Sub PARAR()

MsgBox ("LA REFERENCIA O LA CANTIDAD NO PUEDE SER NULA") End End Sub

Sub IMPRIMIR() 'IMPRIME DOCUMENTO EN PANTALLA

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False

End Sub

Sub FACTURAYA() 'MUEVE DATOS A FACTURAS EMITIDAS

UserForm2.Hide Columns("A:J").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range _

("M1:N2"), Unique:=False Cells.Find(What:=Range("M2"), After:=ActiveCell, LookIn:=xlFormulas, _

LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate

Selection.End(xlToLeft).Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select Selection.Cut Sheets("Facturas Emitidas").Activate Range("A2").Activate Selection.Insert Shift:=xlDown Copianumfactura Sheets("Facturacion").Activate ActiveSheet.ShowAllData Selection.Delete Shift:=xlUp Range("A2").Select

End Sub Sub FACTURALCLIENTE() UserForm3.Show UserForm2.Show

End Sub

Page 11: Código Visual Basic para Facturas avanzadas

Módulo2 - 1

Sub DATOSCLIENTEAFACT() 'COPIA DATOS DEL CLIENTE directamenta a facturas emitidas

Sheets("Albaran").Range("M3").Copy Sheets("Facturas Emitidas").Range("A2").Insert Shift:=xlDown Sheets("Albaran").Range("M2").Copy Sheets("Facturas Emitidas").Range("B2").Insert Shift:=xlDown Sheets("Albaran").Range("M6").Copy Sheets("Facturas Emitidas").Range("C2").Insert Shift:=xlDown Sheets("Albaran").Range("M8").Copy Sheets("Facturas Emitidas").Range("D2").Insert Shift:=xlDown Sheets("Albaran").Range("L3").Copy Sheets("Facturas Emitidas").Range("J2").Insert Shift:=xlDown Application.CutCopyMode = False

End Sub

Sub ARTICULO1AFACT() 'LLEVA DIRECTAMENTE A FACTURAS EMITIDAS

If Range("B15") = 0 Or Range("D15") = 0 Then PARAR

Else DATOSCLIENTEAFACT Sheets("Albaran").Range("I15:M15").Copy Sheets("Facturas Emitidas").Range("E2").Insert Shift:=xlDown Application.CutCopyMode = False

End If End Sub

Sub ARTICULO2AFACT() If Sheets("Albaran").Range("B16") = 0 Then

nomasdatos

Else DATOSCLIENTEAFACT Sheets("Albaran").Range("I16:M16").Copy Sheets("Facturas Emitidas").Range("E2").Insert Shift:=xlDown Application.CutCopyMode = False

End If End Sub Sub ARTICULO3AFACT() If Sheets("Albaran").Range("B17") = 0 Then

nomasdatos Else

DATOSCLIENTEAFACT Sheets("Albaran").Range("I17:M17").Copy Sheets("Facturas Emitidas").Range("E2").Insert Shift:=xlDown Application.CutCopyMode = False

End If End Sub

Else UserForm1.Show

añadealbaran ARTICULO1AFACT ARTICULO2AFACT ARTICULO3AFACT

nomasdatos End If End If

Copianumfactura Sheets("Albaran").Activate

Page 12: Código Visual Basic para Facturas avanzadas

Módulo2 - 2

Sub Generafactinmediata()

If Range("F8") = 0 Then MsgBox ("INTRODUCIR UN CLIENTE") End

Else

If Range("B15") > 0 And Range("D15") = 0 Then PARAR

ElseIf Range("B16") <> 0 And Range("D16") = 0 Then PARAR

ElseIf Range("B17") <> 0 And Range("D17") = 0 Then PARAR

End Sub

Sub Imprimefacturas() DatosCuadro4 FiltraCuadro4 UserForm4.Show

Range("A2").Select Columns("A:K").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _

"M1:N2"), CopyToRange:=Range("Q1:AA1"), Unique:=False Application.CutCopyMode = False Range("A2").Select Sheets("Factura").Activate

End Sub

Sub facturatodos()

UserForm2.Hide Range("A2").Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select Selection.Cut Sheets("Facturas Emitidas").Activate Range("A2").Select Selection.Insert Shift:=xlDown Copianumfactura Sheets("Facturacion").Activate Range("A2").Select

End Sub

Page 13: Código Visual Basic para Facturas avanzadas

Módulo3 - 1

Sub mustraform() UserForm5.Show End Sub

Page 14: Código Visual Basic para Facturas avanzadas

Módulo4 - 1

Sub DatosCuadro4() 'PASA DATOS DE FACTURA Y CLIENTE A HOJA 1 PARA EL CUADRO 4

Range("J2").Activate Range(Selection, Selection.End(xlDown)).Activate Range(Selection, Selection.End(xlToRight)).Activate Selection.Copy Sheets("Hoja1").Activate Range("A2").Activate Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False Sheets("Facturas Emitidas").Activate Range("D2").Activate Range(Selection, Selection.End(xlDown)).Activate Application.CutCopyMode = False Selection.Copy Sheets("Hoja1").Activate Range("C2").Activate Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False Range("A2").Activate

End Sub

Sub FiltraCuadro4() 'FILTRA FACTURAS UNICAS PARA CUADRO 4

Application.CutCopyMode = False Columns("A:C").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _

"E1:E2"), CopyToRange:=Range("G1:I1"), Unique:=True Application.CutCopyMode = False

Sheets("Facturas Emitidas").Activate

End Sub

Sub Copianumfactura() 'RELLENA CON FORMULAS DE NUMERO DE FACTURA

Sheets("Facturas emitidas").Activate Range("K2").Copy Selection.CurrentRegion.Select Selection.SpecialCells(xlCellTypeBlanks).Select ActiveSheet.Paste Application.CutCopyMode = False Range("A2").Select

End Sub

Sub NUEVOCLIENTE()

Range("NUEVO_CLIENTE").Copy Sheets("Lista de Clientes").Range("A2").Insert Shift:=xlDown Application.CutCopyMode = False

End Sub

Sub Botón2_Haga_clic_en() UserForm6.Show End Sub

Page 15: Código Visual Basic para Facturas avanzadas

Módulo5 - 1

Sub Procesoalternativo_Haga_clic_en() UserForm6.Show End Sub