【发布时间】:2022-12-09 01:42:30
【问题描述】:
我正在尝试更改工作簿中每个工作表顶行的颜色,但是,出现错误:
这是我的代码:
Private Sub UpdateEnvironmentColor(MyVar As String)
Dim CurrWrkSht As Worksheet
For Each CurrWrkSht In ThisWorkbook.Worksheets
If MyVar = "A" Then
CurrWrkSht.Rows(1).Interior.Color = vbRed
ElseIf MyVar = "B" Then
CurrWrkSht.Rows(1).Interior.Color = vbGreen
Else
CurrWrkSht.Rows(1).Interior.Color = vbWhite
End If
Next CurrWrkSht
End Sub
令人费解的是,它运行良好,直到我打开了该工作簿的先前版本……但随后我重新启动了所有内容(包括我的计算机),但无济于事。
在我的 Locals 面板中查看“CurrWrkSht”时,它们对我来说都很好(例如 Name 属性是我期望的名称等)期望这组属性(不确定这是否重要):
我的 VBE 有点挑剔,但至少有一次,当我将鼠标悬停在“ThisWorkbook.Worksheets”上时,我得到了一个工具提示,提到了同样的错误。
我试过只给一个单元格上色,但这也不起作用。不确定到底是什么问题。任何帮助表示赞赏!
【问题讨论】:
-
发布的方法(代码)看起来不错。我只会将参数更改为
ByVal MyVar As String。你能分享你调用这个过程的代码吗?