gpt4 book ai didi

vba - Excel VBA - 多个子对不同的项目做同样的事情

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

这是我的第一个问题,所以要温柔,我对在 Excel 中使用 VBA 是全新的。我找到了一个完成我想要的子程序:根据特定单元格的输入或值更改形状的颜色。

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20160704
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
If IsNumeric(Target.Value) Then
If Target.Value < 10 Then
ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbRed
ElseIf Target.Value >= 10 And Target.Value < 20 Then
ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbYellow
ElseIf Target.Value >= 20 And Target.Value < 30 Then
ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbBlue
Else
ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbGreen
End If
End If

我想做的是为最多 5 个形状运行相同的子对象,其中值出现在单元格 A1:A5 中。我确信这很容易,但我似乎无法在我找到的文档中找到解决方案。有没有办法做到这一点,或者他们都必须在自己的模块中?

最佳答案

几乎是您的以下代码:

If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub

如果更改的单元格不是 A1,则退出。如果值在 A1:A5 中,您必须详细说明,不允许退出。这可以通过以下方式实现:
If Intersect(Target, Range(Cells(1, 1), Cells(5, 1))) Is Nothing Then Exit Sub
Cells(1,1)A1Cell(5,1)A5 .它们都声明了允许范围的开始和结束。

这是 Worksheet_Change 的文档MDSN 中的事件 - https://msdn.microsoft.com/en-us/library/office/ff839775.aspx

关于vba - Excel VBA - 多个子对不同的项目做同样的事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43851663/

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