仅添加不同的正价值与VBA
如果您想知道如何仅添加正值和唯一值,那么本文适合您。
在本文中,您将学习如何使用VBA代码在excel中仅添加不同的正值。
问题):我希望宏对指定范围内的所有不同的正数求和,其中包括负数和正数。
以下是我们拥有的数据的快照:
我们需要执行以下步骤:
单击“开发人员”选项卡。从“代码”组中选择“ Visual Basic”
在标准模块中输入以下代码:-
函数AddUnique(ByRef inputrange作为范围,_
| ===可选IgnoreText作为布尔= True,_
| ===可选IgnoreError作为布尔= True,_
可选IgnoreNegativenumbers为Boolean = True)
将昏暗的数字作为双
昏暗的单元格作为范围
Dim dict作为对象
设置字典= CreateObject(“ Scripting.dictionary”)
distinctnumbers = 0
对于inputrange.Resize(inputrange.Rows.Count,1)中的每个单元格
cval = cell.Value
如果忽略文本,则
如果不是(VBA.IsNumeric(cval)),则cval = 0
其他
AddUnique = CVErr(0)
退出功能
如果
结束
===
如果忽略错误,则
如果IsError(cval)则cval = 0
其他
AddUnique = CVErr(1)
退出功能
如果
结束
如果忽略负数则
如果cval <0,则cval = 0
其他
AddUnique = CVErr(2)
退出功能
如果
结束
如果不是dict.Exists(cval),则
dict。添加cval,cval
distinctnumbers = distinctnumbers + cval
如果
结束
下一个
AddUnique =唯一数字
结束函数
-
在单元格C2中,公式为
* = AddUnique(A2:A6)
-
检查代码是否忽略重复值;让我们将单元格A1中的值更改为50并查看结果。
这样,我们可以通过宏代码添加不同的正值。
//wp-content/uploads/2015/06/Download-Sample-File-xlsm.xlsm[Download-Sample File-xlsm]