我想根据另一个单元格中的值更改单元格的填充颜色。这将是一个系列实现,例如A1,基于 B1 中的值; A2,基于 B2 中的值等等。
我想使用一个公共(public)函数,所以我可以这样使用它并下拉进行系列实现。IF(B1>0,ColourCell("A1","Green"),IF(B1<0,ColourCell("A1","Red",ColourCell("A1","White"))))
我不知道 VB 中的数据类型等 - 我可以帮助它在 VB 中工作吗?
我插入了一个模块(常规)。这就是功能。
Public Function ColourCell(cell, colour)
If colour = "Green" Then
Range("cell").Interior.Color = vbGreen
ElseIf colour = "Red" Then
Range("cell").Interior.Color = vbRed
ElseIf colour = "White" Then
Range("cell").Interior.Color = vbWhite
End If
End Function
我的理解是,一旦一切正常,我就可以按照描述的方式使用它。
谢谢
最佳答案
为了规避 BigBen 这里提到的问题是另一种方法。
您需要删除 cell
周围的引号。否则它将被视为文字字符串。
在函数中声明参数类型也是一种很好的做法。
这里没有错误捕获,例如对于无效范围。
Sub ColourCell(cell As String, colour As String)
If colour = "Green" Then
Range(cell).Interior.Color = vbGreen
ElseIf colour = "Red" Then
Range(cell).Interior.Color = vbRed
ElseIf colour = "White" Then
Range(cell).Interior.Color = vbWhite
End If
End Sub
以这种方式调用子:
Sub x()
ColourCell "A1", "Green"
End Sub
关于excel - 使用公共(public) VBA 函数更改 Excel 中的单元格颜色背景 - 不是 VBA 程序员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59287290/