2017-01-06 5 views
-5

Мне нужно рассчитать процент для приведенного ниже кода.Расчет процента с помощью VBA

Сотовый AE43 дает общий счет.

Сотовый AE51 дает действительный счет.

Сотовый AE53 должен содержать% для этого.

Sub WBR() 
Dim Count1Criteria As Variant 
Dim Count3Criteria As Variant 
Dim test As Variant 
Dim wf As WorksheetFunction 
Set wf = Application.WorksheetFunction 

Filter1InSummary = Array(Array("AE4", "Latency", "O:O", "Pass"), _ 
         Array("AE51", "TT", "G:G", "Yes"), _ 
         Array("AE52", "TT", "G:G", "No"), _ 
         Array("AE61", "Reactive", "R:R", "Item")) 

Filter3InSummary = Array(Array("AE43", "TT", "I:I", "<>Duplicate TT", _ 
              "G:G", "<>Not Tested", _ 
              "U:U", "Item")) 
For Each test In Filter3InSummary 
    With Worksheets(test(1)) 
     Range(test(0)) = wf.CountIfs(.Range(test(2)), test(3), _ 
            .Range(test(4)), test(5), _ 
            .Range(test(6)), test(7)) 
    End With 
    Next 
+2

Не уверен, что вы пытаетесь сделать – Hiten004

ответ

0

Как насчет:

Sub dural() 
    Dim r1 As Range, r2 As Range, r3 As Range 

    Set r1 = Range("AE43") 
    Set r2 = Range("AE51") 
    Set r3 = Range("AE53") 
    If r1.Value <> 0 Then 
     r3.Value = r2.Value/r1.Value 
    End If 
    r3.NumberFormat = "00.0%" 
End Sub 

enter image description here

+0

Как я реализовать этот суб для нескольких ячеек без создания отдельного суб для каждой ячейки? –

+0

@walterwhile Вы можете запрограммировать цикл, чтобы охватить группу * triplets *, один трипл для каждого {r1, r2, r3} –