我使用宏来汇总特定债务人的价值。它目前工作正常,但我需要添加另一个标准;
Range("DebtorList_Payed")=Application.SumIf(Range("InvoiceList_Table_ItmCode"), _
Range("Debtor_list_Debtors"), Range("InvoiceList_Price"))
我在发票清单工作表上有另一个名为Range(“InvoiceList_Payed”)的范围,在这一行中有“CASH”,“CREDIT”,“(自定义)CASH”& “(自定义)CREDIT”。
“CASH”中的文字& “(自定义)CASH”行为绿色 以及“信用证”和“信用证”中的文字“(自定义)CREDIT”行是红色
使用现有的宏我需要它只对相应范围(“InvoiceList_Payed”)中的文本颜色为绿色的行进行求和,
就像这样;
Range("DebtorList_Payed")=Application.SumIf(Range("InvoiceList_Table_ItmCode"), _
Range("Debtor_list_Debtors"), Range("InvoiceList_Price") = _
Range("InvoiceList_Payed")> "Green"))
答案 0 :(得分:0)
如果您使用的是Excel 2007或更高版本,则可以使用SUMIFS功能,如果您使用的是早期版本,则可以嵌套SUM和IF功能。真正的问题是无法从工作表函数中获取单元格的颜色。你可以使用CELL(“颜色”,REF)功能,如果单元格上的格式设置为绿色为正,红色为负(反之亦然)。
当然,使用标准的VBA功能/属性(如RGB)很容易做到这一点。
你也可以触发“CASH”这个词,因为两个Green行都有共同点。
示例:
SUMIFS(Range("InvoiceList_Payed"), Range("InvoiceList_Table_ItmCode"), _
Range("Debtor_list_Debtors"), Range("InvoiceList_Payed"), "*CASH*")