Crear Reporte de Excel
Hola experto, estoy adentrándome en este mundo fascinante de la programación con macros y ya he tenido mis primeros tropezones...
Estoy tratando de elaborar un aplicativo que me permita ingresar la información de compras y ventas que se han tenido en la organización. Cree 4 formularios. En el primero creo los usuarios y los guardo en una hoja que consolida clientes (legales y no legales) y proveedores. Mediante los dos formularios siguientes ingreso la información a una hoja respectiva si es Cliente Legal, Cliente Ilegal o proveedor. (para poder tener claridad de las operaciones de cada tipo de usuario)
El cuarto formulario es el del meollo. Dado que ingreso en un textbox la cedula del usuario y defino en un combobox si es proveedor o cliente (legal o ilegal). Programo un botón para que me traiga un reporte de fechas números de factura y deuda que dicho usuario posee. El código empleado es el siguiente:
Private Sub CommandButton2_Click()
Dim NUEVO As Object
Dim i As Integer
Dim L As Integer
Dim j As Integer
Dim H As Integer
Dim final As Integer
Dim FINAL2 As Integer
Dim ORIGEN As String
Dim VALOR As String
Dim CONTAR As Double
UserForm4.Hide
UserForm1.Hide
Set NUEVO = Workbooks.Add
NUEVO.Activate
ORIGEN = ActiveWorkbook.Name
VALOR = UserForm4.TextBox1
' ASIGNAR VALORES PARA EL INFORME
Application.Workbooks(ORIGEN).Worksheets(1).Cells(1, 1) = "INFORME USUARIO"
Application.Workbooks(ORIGEN).Worksheets(1).Cells(3, 1) = "NOMBRE/RAZÓN SOCIAL"
Application.Workbooks(ORIGEN).Worksheets(1).Cells(4, 1) = "DIRECCIÓN"
Application.Workbooks(ORIGEN).Worksheets(1).Cells(5, 1) = "NIT O CC"
Application.Workbooks(ORIGEN).Worksheets(1).Cells(6, 1) = "TELÉFONO"
Application.Workbooks(ORIGEN).Worksheets(1).Cells(3, 3) = "E-MAIL"
Application.Workbooks(ORIGEN).Worksheets(1).Cells(4, 3) = "N° CUENTA"
Application.Workbooks(ORIGEN).Worksheets(1).Cells(5, 3) = "TITULAR DE LA CUENTA"
Application.Workbooks(ORIGEN).Worksheets(1).Cells(6, 3) = "BANCO"
Application.Workbooks(ORIGEN).Worksheets(1).Cells(9, 2) = "FECHA"
Application.Workbooks(ORIGEN).Worksheets(1).Cells(9, 3) = "N° FACTURA"
Application.Workbooks(ORIGEN).Worksheets(1).Cells(9, 4) = "VALOR NETO"
Application.Workbooks(ORIGEN).Worksheets(1).Cells(5, 2) = VALOR
' ASIGNAR DATOS DEL USUARIO
If ComboBox1 = "Cliente con factura Legal" Then
'ActiveSheet(2).Activate
Else
If ComboBox1 = "Cliente sin factura Legal" Then
'ActiveSheet(3).Activate
Else
If ComboBox1 = "Proveedor" Then
'ActiveSheet(4).Activate
End If
End If
End If
CONTAR = 10
j = 2
While Application.Workbooks("CARTERA - PROVEEDORES.xlsm").ActiveSheet.Cells(j, 2) <> ""
If Application.Workbooks("CARTERA - PROVEEDORES.xlsm").ActiveSheet.Cells(j, 2) = VALOR Then
Application.Workbooks(ORIGEN).Worksheets(1).Cells(CONTAR, 2) = Application.Workbooks("CARTERA - PROVEEDORES").ActiveSheet.Cells(j, 3)
Application.Workbooks(ORIGEN).Worksheets(1).Cells(CONTAR, 3) = Application.Workbooks("CARTERA - PROVEEDORES").ActiveSheet.Cells(j, 4)
Application.Workbooks(ORIGEN).Worksheets(1).Cells(CONTAR, 4) = Application.Workbooks("CARTERA - PROVEEDORES").ActiveSheet.Cells(j, 15)
CONTAR = CONTAR + 1
End If
j = j + 1
Wend
L = 2
While Application.Workbooks("CARTERA - PROVEEDORES.xlsm").Worksheets(5).Cells(L, 1) <> ""
If Application.Workbooks(ORIGEN).Worksheets(1).Cells(5, 2) = Application.Workbooks("CARTERA - PROVEEDORES.xlsm").Worksheets(5).Cells(L, 1) Then
Application.Workbooks(ORIGEN).Worksheets(1).Cells(3, 2) = Application.Workbooks("CARTERA - PROVEEDORES.xlsm").Worksheets(5).Cells(L, 2)
Application.Workbooks(ORIGEN).Worksheets(1).Cells(4, 2) = Application.Workbooks("CARTERA - PROVEEDORES.xlsm").Worksheets(5).Cells(L, 4)
Application.Workbooks(ORIGEN).Worksheets(1).Cells(6, 2) = Application.Workbooks("CARTERA - PROVEEDORES.xlsm").Worksheets(5).Cells(L, 3)
Application.Workbooks(ORIGEN).Worksheets(1).Cells(3, 4) = Application.Workbooks("CARTERA - PROVEEDORES.xlsm").Worksheets(5).Cells(L, 5)
Application.Workbooks(ORIGEN).Worksheets(1).Cells(4, 4) = Application.Workbooks("CARTERA - PROVEEDORES.xlsm").Worksheets(5).Cells(L, 6)
Application.Workbooks(ORIGEN).Worksheets(1).Cells(5, 4) = Application.Workbooks("CARTERA - PROVEEDORES.xlsm").Worksheets(5).Cells(L, 7)
End If
L = L + 1
Wend
End Sub
al final me crea una nueva hoja pero no me trae los datos de las facturas que debe el usuario ni tampoco me muestra la información básica del usuario en la hoja de reporte. (Código en negrilla)
Agradezco enormemente tu amable colaboración al respecto.