所以我有以下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
CountCcolor = datax.Select
End If
Next datax
End Function
此代码循环显示给定的范围并搜索特定的背景颜色。然后,它会获取该颜色的值,并将其放入选定的单元格中。
我的问题是,只有具有正确背景颜色的数据是数字而不是文本时才能使用。
关于为什么它无法从单元格中获取文本的任何想法?
它只显示#VALUE!如果是它的文本。
答案 0 :(得分:0)
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注意到