如果您想知道如何仅添加正值和唯一值,那么本文适合您。

在本文中,您将学习如何使用VBA代码在excel中仅添加不同的正值。

问题):我希望宏对指定范围内的所有不同的正数求和,其中包括负数和正数。

以下是我们拥有的数据的快照:

image 1

我们需要执行以下步骤:

单击“开发人员”选项卡。从“代码”组中选择“ Visual Basic”

image 2

在标准模块中输入以下代码:-

函数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 =唯一数字

结束函数

image 4

  • 在单元格C2中,公式为

* = AddUnique(A2:A6)

image 5

  • 检查代码是否忽略重复值;让我们将单元格A1中的值更改为50并查看结果。

image 6

这样,我们可以通过宏代码添加不同的正值。

Excel//wp-content/uploads/2015/06/Download-Sample-File-xlsm.xlsm[Download-Sample File-xlsm]