Excel用户定义函数: change the cell's color

标签 excel vba

我在 Excel 中有一个用户定义的函数。它从电子表格单元格中作为公式函数调用,并且工作正常。

我希望该函数能够根据它返回的值更改单元格的颜色。本质上,改变单元格的颜色是该函数的副作用。

我试过了

Application.ThisCell.Interior.ColorIndex = 2

但是失败了。

最佳答案

这里演示了 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

关于Excel用户定义函数: change the cell's color,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13705663/

相关文章:

javascript - 如何用 % 在 javascript 中计算

c# - 剪切并粘贴整个 Excel 列

Excel VBA - 在 SharePoint 上查找文件的本地文件位置

vba - 将收敛值设置为内置求解器的变量

vba - 即使合并范围位于下方,也仅选择一列

excel - 使用 Outlook 发送邮件,但发送方法失败

excel - 如何使用vba在单元格中输入公式

ms-access - 在 from、report 之间传递记录集

excel - VBA如何将用户窗体变量传递给子例程

excel - VBA删除不包含特定值的行的更快或最佳选择?