[英]SumIf statements - complicated criteria
這是我的故事。 下面的代碼將計數的所有行的行開始84,在R列有“1”,一些帶有“B”在塔K開始, 並且無論是“98(宏)”或“98”,在列L.
B_black = Application.Sum(Application.SumIfs(Range("R84:R" & LastRow), Range("R84:R" & LastRow), "1", Range("K84:K" & LastRow), "B*", Range("L84:L" & LastRow), Array("98 (macro)", "98")))
我不需要使用該標准來計算行數,而是需要它本質上求和R列中的匹配項總數。之前,R列中的值將為“ 1”或為null。 現在,它可以為null或1-9。 我怎樣才能做到這一點?
編輯 :我將有許多這樣的聲明。 我已經把它們全部寫完了。 我希望我可以在每個語句中做一個小的更改,以計算符合條件的行中R列中的數量。
如果要對R列中的值求和而不是僅對行進行計數,則:
Sub Robby()
Dim B_black As Long, n As Long, i As Long
B_black = 0
n = Cells(Rows.Count, "R").End(xlUp).Row
For i = 83 To n
If Left(Cells(i, "K").Value, 1) = "B" And (Cells(i, "L").Value = 98 Or Cells(i, "L").Value = "98 (macro)") Then
B_black = B_black + Cells(i, "R").Value
End If
Next i
End Sub
不需要使用工作表功能。
編輯#1:
如果您在工作表單元格中已經有方程式,那么那里已經有75%。
假設我們正在使用:
=VLOOKUP(B1 & B2,F1:J16,2,FALSE)
在一個單元格中。 要在VBA中執行此操作,請編寫以下代碼:
Sub DoItInAMacro()
Dim s As String
s = Evaluate("=VLOOKUP(B1 & B2,F1:J16,2,FALSE)")
MsgBox s
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.