Página 1 de 1

Somando valores vba excel

Enviado: 26 Mai 2016 às 16:09
por welington
Pessoal boa tarde

eu tenho um relatório onde quero somar minha produção via codigo vba.

porém tenho dificuldades ao realizar a soma por conta dos critérios...

estou enviando o modelo anexo para analisarem, consegui uma ajuda para realizar a soma por cores mas colorir as células não é a minha intensão.

exemplo.

CENTRO - OPERAÇÃO - M2 - MÊS
MAQUINA1 - Produção - 10- janeiro
MAQUINA2 - Produção- 20- Fevereiro
MAQUINA3 - Produção- 30- Março
MAQUINA1 - Produção - 10- janeiro
MAQUINA2 - Produção- 20- Fevereiro
MAQUINA3 - Produção- 30- Março


no meu form eu tenho um textbox para cada centro e uma combobx para me carregar os meses.

no momento em que eu selecionar o mês ele me carregará a soma da produção de cada centro.

Ficando assim o resultado


exemplo do Mês Janeiro
Maquina1 - 20

Alguém pode me ajudar?

Re: Somando valores vba excel

Enviado: 27 Mai 2016 às 09:20
por alexandrevba
Bom dia!!!

Precisa mesmo de VBA para isso?

A TD resolve isso rapido e fácil!!

Att

Re: Somando valores vba excel

Enviado: 27 Mai 2016 às 12:27
por Reinaldo
Uma possibilidade:
Altere a formula da coluna W para, TEXTO(U2;"mmmm").
estava somente com formatação personalizada, o valor intento é um numero que representa uma data completa
Altere tambem em seu formulario os nomes das label's que representam o valor de cada centro
Acrescente a seguinte rotina no modulo de seu formulario:
Código: Selecionar todos
Private Sub cmb_centro_Change()
Dim sCentro As String
Dim dCtrl As Double

For x = 2 To Sheets("COOIS").Cells(Cells.Rows.Count, "Q").End(xlUp).Row
    If Cells(x, "P").Value = "PRODUÇÃO" And UCase(Cells(x, "W").Value) = cmb_centro.Value Then
        
        If Cells(x, "Q") = "TEAR-MAR" Then
            sCentro = "TEARMAR"
        Else
            sCentro = Cells(x, "Q").Value
        End If
        
        If Controls("lbl_" & sCentro).Caption = "" Then
            dCtrl = 0
        Else
            dCtrl = CDbl(Controls("lbl_" & sCentro).Caption)
        End If
        Controls("lbl_" & sCentro).Caption = dCtrl + Cells(x, "R").Value
    End If
Next
For Each Control In Controls
    If Control.Name Like "lbl_*" Then
        If Controls(Control.Name).Caption <> "" Then
            Controls(Control.Name).Caption = Format(CDbl(Controls(Control.Name).Caption), "#,##0.00") & " M2"
        Else
            Controls(Control.Name).Caption = "Sem Produção"
        End If
    End If
Next
End Sub
Veja em seu modelo.
Teste e veja se atende

Somando valores vba excel

Enviado: 27 Mai 2016 às 16:18
por welington
Top Reinaldo!! Obrigado