Excel VBA суммирует все ячейки с соответствующими критериями - PullRequest
0 голосов
/ 27 августа 2018

Я пытался добиться общей эффективности оборудования (OEE), и для этого мне нужно суммировать все хорошо произведенные изделия и делить их на общее производство. Так я получаю индекс качества ...

Критерии: «сегодня», смена (1 или 2 или 3), номер штуки

Пока я сделал это ...

Private Sub CommandButton1_Click()

    Dim last, i As Integer
    Dim ref As String, turno As String, dia As String, estado As String, pecasap As String, pecaspr As String

    'Sheets("analisegeral").Select

    folha = estadoform.Label1.Caption
    last = Application.ThisWorkbook.Worksheets(folha).Range("A65536").End(xlUp).Row


    Application.ThisWorkbook.Worksheets(folha).Cells(last + 1, 5) = fimturnoform.ComboBox1 'peça
    Application.ThisWorkbook.Worksheets(folha).Cells(last + 1, 6) = "FIM TURNO"
    Application.ThisWorkbook.Worksheets(folha).Cells(last + 1, 7) = "FINALIZADO" 'estado trabalho (A DECORRER/FINALIZADO)
    Application.ThisWorkbook.Worksheets(folha).Cells(last + 1, 9) = fimturnoform.TextBox1.Text 'fase
    Application.ThisWorkbook.Worksheets(folha).Cells(last + 1, 12) = Now() 'HORA FIM TURNO
    Application.ThisWorkbook.Worksheets(folha).Cells(last + 1, 14) = fimturnoform.TextBox3.Text 'peças aprovadas
    Application.ThisWorkbook.Worksheets(folha).Cells(last + 1, 15) = fimturnoform.TextBox2.Text 'peças produzidas


    '' Day (Now)

    For i = 2 To last
        dia = Cells(i, 3)
        turno = Cells(i, 4)
        ref = Cells(i, 5)
        estado = Cells(i, 6)
        pecasap
        pecaspr
        If (Day(Now) = dia And ComboBox2 = turno And ComboBox1 = ref And (estado = "FIM LOTE" Or estado = "FIM TURNO")) Then

        End If
    Next i

    GoTo fim
    fim:

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...