gpt4 book ai didi

VBA - 根据单元格值更改多个工作表选项卡的颜色

转载 作者:行者123 更新时间:2023-12-02 23:52:50 25 4
gpt4 key购买 nike

我正在尝试创建一个按钮,单击一次即可检查工作簿 10 个工作表中的特定单元格,并根据单元格值重新着色选项卡。

例如,

  • 如果单元格 E15 > 18,则选项卡颜色应变为绿色。
  • 如果单元格 E15 < 18,则选项卡颜色应变为红色。

只需单击一个按钮即可评估所有 10 个选项卡并重新着色。

到目前为止,我的宏看起来像这样,仅给出三张纸作为示例。它非常粗糙,但我对 VBA 很陌生(1 天)。

我的主要问题是它适用于第一个选项卡,但随后打开第二个选项卡并显示“需要对象”

Sub Update_Tab_Colour_One_Click()    
Sheets(4).Activate
If Cells(13, 11).Value > 18 Then
With ActiveWorkbook.ActiveSheet.Tab
.Color = vbGreen
End With
Else
With ActiveWorbook.ActiveSheet.Tab
.Color = vbRed
End With
End If

Sheets(5).Activate
If Cells(13, 11).Value > 18 Then
With ActiveWorkbook.ActiveSheet.Tab
.Color = vbGreen
End With
Else
With ActiveWorbook.ActiveSheet.Tab
.Color = vbRed
End With
End If

Sheets(6).Activate
If Cells(13, 11).Value > 18 Then
With ActiveWorkbook.ActiveSheet.Tab
.Color = vbGreen
End With
Else
With ActiveWorbook.ActiveSheet.Tab
.Color = vbRed
End With
End If
End Sub

最佳答案

看看这是否适合您:

Sub Update_Tab_Colour_One_Click()
Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets
If ws.Index = 4 Or ws.Index = 5 Or ws.Index = 6 Then
If ws.Cells(13, 11).Value > 18 Then
ws.Tab.Color = vbGreen
Else
ws.Tab.Color = vbRed
End If
End If
Next ws

End Sub

它检查是否是 456th 索引工作表,然后检查单元格值并相应地为选项卡着色.

关于VBA - 根据单元格值更改多个工作表选项卡的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45800277/

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