[英]Change cell color based on value of another cell
我正在尝试运行一个代码,按下按钮后,从另一张工作表(标记为“ MFG PNs”)的列(“ H”)中找到一个单元格,并将其值与我的单元格“ Z21”中输入的值相匹配标有“ SPC”的表格。 一旦找到H中的单元格,我试图将同一行的Q列中的相应单元格更改为不同的颜色。
我当前收到此错误消息:“运行时错误9,下标超出范围”它发生在代码的颜色更改部分。
Sub Approve_Click()
Dim r As Long
Dim m As Long
m = Sheets("MFG PNs").Range("H3:H1200").Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
For r = 1 To m
If Sheets("MFG PNs").Range("H" & r) = Sheets("SPC").Range("Z21") Then
Sheets("MFG PNs").Range("Q" & r).Interior.ColorIndex = RGB(0, 97, 0)
End If
Next r
End Sub
在测试您的代码时,我确实发现了另一个问题:当找不到目标字符串(“ *”)时崩溃。 以下更正应说明这一点:
Set cell = Sheets("MFG PNs").Range("H3:H1200").Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
If (Not cell Is Nothing) Then
For r = 1 To cell.Row
'YOUR CODE
Next r
End If
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.