VBA:根据颜色获取单元格值
因此,我有以下VBA代码:VBA:根据颜色获取单元格值,vba,excel,Vba,Excel,因此,我有以下VBA代码: Function CountCcolor(range_data As Range, criteria As Range) As Long Dim datax As Range Dim xcolor As Long xcolor = criteria.Interior.ColorIndex For Each datax In range_data If datax.Interior.ColorIndex = xcolor Then Coun
Function CountCcolor(range_data As Range, criteria As Range) As Long
Dim datax As Range
Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
If datax.Interior.ColorIndex = xcolor Then
CountCcolor = datax.Select
End If
Next datax
End Function
该代码在给定的范围内循环并搜索特定的背景颜色。然后,它获取该颜色的值并将其放入选定的单元格中
我的问题是,只有当背景颜色正确的数据是数字而不是文本时,这才有效
你知道为什么它不能从单元格中抓取文本吗
它只显示#值!如果它现在是文本
CountCcolor is defined as Long
代码应该是
Function CountCcolor(range_data As Range, criteria As Range) As String
Dim datax As Range
Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
If datax.Interior.ColorIndex = xcolor Then
CountCcolor = datax.Select
End If
Next datax
End Function
感谢@Shai Rado注意到了是的,你将你的
函数CountCcolor定义为Long
,因此它只接受数字。我也尝试了datax.Text-但幸运的是你不能,因为你的CountCcolor'定义为
Long`@ShaiRado-不敢相信我没有注意到!我改变了这个代码形式,计算了背景颜色的数量,所以忘记了改变那个位!谢谢