Modificar el Informe Mensual(va dirigida a Dante Amor)

Necesitaría de ser factible dentro del formulario tenemos "Informe mensual" por código, se podrá agregar cuando quieran saber en una determinada fecha el consumo total por cliente un botón de comando nombrado "Informe Clientes" y lo calcule en la hoja de consumoClientes?.-

Te adjunto un ejemplo por correo las fechas calculadas están entre 1/10/13 al 04/11/13

En la planilla deje espacios en blanco en el sector de clientes esto se debe a que en un futuro esperemos tener mas.-

1 respuesta

Respuesta
1

Prueba con la tabla dinámica, puedes filtrar por fecha, por cliente o código.

Hola, por favor sin apuro la macro.- Ya que es gente de conocimientos muy básicos, y le resultaría más fácil apretar un botón y tener la información.-

Saludos

Esta es la macro para el consumo de clientes

Private Sub CommandButton1_Click() 'consumo clientes
'Por.Dante Amor
    Dim fec1 As Date
    Dim fec2 As Date
    '
    Application.ScreenUpdating = False
    u = Hoja12.Range("A" & Rows.Count).End(xlUp).Row
    If u < 3 Then u = 3
    uc = Hoja12.Cells(1, Columns.Count).End(xlToLeft).Column + 1
    Hoja12.Range(Hoja12.Cells(2, "A"), Hoja12.Cells(u, uc)).ClearContents
    Hoja12.Range(Hoja12.Cells(1, "C"), Hoja12.Cells(1, uc)).ClearContents
    '
    [G1] = DTPicker1
    [G2] = DTPicker2
    '
    For i = 2 To Hoja4.Range("A" & Rows.Count).End(xlUp).Row
        '
        If Hoja4.Cells(i, "B") >= [G1] And _
           Hoja4.Cells(i, "B") <= [G2] Then
            'busca código
            Set b = Hoja12.Range("A:A").Find(Hoja4.Cells(i, "A"), LookAt:=xlWhole)
            If Not b Is Nothing Then
                fil = b.Row
                'busca cliente
                col = BuscarCliente(i)
                Hoja12.Cells(fil, col) = Hoja12.Cells(fil, col) + Hoja4.Cells(i, "D")
            Else
                'busca descripción
                Set d = Hoja1.Range("A:A").Find(Hoja4.Cells(i, "A"), LookAt:=xlWhole)
                If Not d Is Nothing Then desc = Hoja1.Cells(d.Row, "B") Else desc = ""
                '
                u = Hoja12.Range("A" & Rows.Count).End(xlUp).Row + 1
                'busca cliente
                col = BuscarCliente(i)
                Hoja12.Cells(u, "A") = Hoja4.Cells(i, "A")
                Hoja12.Cells(u, "B") = desc
                Hoja12.Cells(1, col) = Hoja4.Cells(i, "C")
                Hoja12.Cells(u, col) = Hoja4.Cells(i, "D")
            End If
        End If
    Next
    '
    [G1:G2] = ""
    Hoja12.Select
    Application.ScreenUpdating = True
    MsgBox "Informe Mensual Terminado", vbInformation
    End
End Sub
Function BuscarCliente(i)
'Por.Dante Amor
    Set c = Hoja12.Rows(1).Find(Hoja4.Cells(i, "C"), LookAt:=xlWhole)
    If Not c Is Nothing Then
        BuscarCliente = c.Column
    Else
        BuscarCliente = Hoja12.Cells(1, Columns.Count).End(xlToLeft).Column + 1
    End If
End Function

Es un Excel 2003 no tiene controles dtpicker, por ese motivo sale la leyenda "No se puede encontrar el proyecto o la biblioteca".-

Por que elemento se puede modificar?

Saludos

Instala el control, revisa si puedes instalarlo

En el menú de VBA entra a Herramientas / Controles adicionales y busca :

Microsoft Date Time and Picker Control (SP4)

Antes actualiza tu windows con el último Support Package

Si no funciona, entonces busca el control MonthView.

Si tampoco funciona, entonces hay que reemplazar el control de fecha por un textbox.

No se encuentran instalados en el sistema.

Cuando acciono el botón menú aparece un cartel de información "no se puede cargar algunos objetos porque no están disponibles en este equipo" si le doy aceptar aparece el otro cartel de "error Nose puede encontrar el proyecto o la biblioteca"

Pregunto porque en el informe mensual funciona bien? si también se ponen fechas y años alternativos? no se podrá utilizar el mismo objeto para esta esta operatoria?

Saludos

Cambié el control a textbox

[G1] = Format(TextBox1, "mm/dd/yyyy")
[G2] = Format(TextBox2, "mm/dd/yyyy")

Hola, cuando accione el control menú aparece esta leyenda "error No se puede encontrar el proyecto o la biblioteca"

y te resalto donde se posiciona la detención de la macro

Private Sub UserForm_Activate()

'Por.Dante Amor

    For i = 1 To 12

        ComboBox1.AddItem i

        ComboBox3.AddItem i

    Next

    For i = Year(Date) - 3 To Year(Date) + 3

        ComboBox2.AddItem i

        ComboBox4.AddItem i

    Next

End Sub

Saludos

Entra a al menú de vba

En Herramientas / referencias, busca si tienes alguna que diga la palabra "FALTA", entonces desmarca la casilla

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas