gpt4 book ai didi

excel - 使用公共(public) VBA 函数更改 Excel 中的单元格颜色背景 - 不是 VBA 程序员

转载 作者:行者123 更新时间:2023-12-04 22:24:28 25 4
gpt4 key购买 nike

我想根据另一个单元格中的值更改单元格的填充颜色。这将是一个系列实现,例如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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com