VBA查找某些单元格中是否存在值
我试图找出一个值是否只存在于这些特定的单元格中。我已经拼凑了来自不同来源的代码,但我似乎无法让它工作VBA查找某些单元格中是否存在值,vba,excel,Vba,Excel,我试图找出一个值是否只存在于这些特定的单元格中。我已经拼凑了来自不同来源的代码,但我似乎无法让它工作 Resources = ActiveWorkbook.Sheets("Sheet1").Range("A1,A4,A6,A8,A10") MsgBox Application.WorksheetFunction.CountIf(Range(Resources, 0), ">0") 根据我为Resources变量设置的Dim的不同,我似乎会出现各种错误,我不太确定,0的作用是什么 任何帮助
Resources = ActiveWorkbook.Sheets("Sheet1").Range("A1,A4,A6,A8,A10")
MsgBox Application.WorksheetFunction.CountIf(Range(Resources, 0), ">0")
根据我为Resources
变量设置的Dim
的不同,我似乎会出现各种错误,我不太确定,0
的作用是什么
任何帮助都将不胜感激。这就是你正在尝试的吗
Sub Sample()
Dim Resources As Range, aCell As Range
Dim n As Long
Set Resources = ActiveWorkbook.Sheets("Sheet1").Range("A1,A4,A6,A8,A10")
For Each aCell In Resources
If aCell.Value > 0 Then n = n + 1
Next
MsgBox n
End Sub
这就是你想要的吗
Sub Sample()
Dim Resources As Range, aCell As Range
Dim n As Long
Set Resources = ActiveWorkbook.Sheets("Sheet1").Range("A1,A4,A6,A8,A10")
For Each aCell In Resources
If aCell.Value > 0 Then n = n + 1
Next
MsgBox n
End Sub
在
Resources变量之前添加Set
,方法如下:Set Resources=…
,并确保它声明为范围类型
,方法如下:Dim Resources as Range
。会发生什么?如果不能有不连续的ranges@KazJaw这是我最初的设置,我得到的错误是运行时错误“1004”:无法获取WorksheetFunction类的CountIf属性。我猜这与@SiddharthRout的评论有关?有什么建议吗?我认为@SiddharthRout是对的。您将在CountIf函数中遇到额外的错误,您将通过以下方式对其进行改进:…CountIf(参考资料,“>0”)
。但首先要使范围连续。在资源变量之前添加Set
,方法如下:Set Resources=…
,并确保它声明为range type
,方法如下:Dim Resources as range
。会发生什么?如果不能有不连续的ranges@KazJaw这是我最初的设置,我得到的错误是运行时错误“1004”:无法获取WorksheetFunction类的CountIf属性。我猜这与@SiddharthRout的评论有关?有什么建议吗?我认为@SiddharthRout是对的。您将在CountIf函数中遇到额外的错误,您将通过以下方式对其进行改进:…CountIf(参考资料,“>0”)
。但首先要让射程连续。太棒了,这太完美了!非常感谢你!太棒了,太完美了!非常感谢你!