我在Excel中有一个用户定义的函数.它被称为电子表格单元格中的公式函数,并且工作正常.
我希望该函数能够根据返回的值更改单元格的颜色.基本上,改变细胞的颜色是该功能的副作用.
我试过了
Application.ThisCell.Interior.ColorIndex = 2
Run Code Online (Sandbox Code Playgroud)
但它失败了.
Jon*_*Mac 10
下面演示了VBA UDF如何更改工作表内容的着色而不是使用条件格式.
只要两个工作表的行和列按相同的顺序排序,那么这将比较两个单独的Excel工作表之间的每个单元格的差异.
您可以在第三张纸上将其添加到所需数量的单元格中,以检测两张纸上相同两个单元格之间的差异,并显示以下数据: =DifferenceTest(Sheet1!A1,Sheet2!A1)
并且要存储在VBA编辑器中的函数如下:
Function DifferenceTest(str1 As String, str2 As String) As String
If str1 = str2 Then
Application.Caller.Font.ColorIndex = 2
Else
Application.Caller.Font.ColorIndex = 3
DifferenceTest = str1 & " vs " & str2
End If
End Function
Run Code Online (Sandbox Code Playgroud)
这是不可能做到的.用户定义的函数不能更改工作簿/工作表等的状态.
使用条件格式来实现您的目标.
编辑:这是一个更多的建议,而不是一个真正的答案.