我在工作表(Sheet2)上有一个表单,我希望将D列单元格中输入的值与不同工作表(Sheet5,C列)上的值列表进行比较。如果在Sheet2的D列中输入的值等于Sheet5列C中的任何值,我希望Sheet2的同一行中的F列单元格变为红色。如果D7 = Sheet5的C列中的值,我希望F7变为红色。最后,我想要检查D列中的任何值是否与我为某些值创建的宏相关联,但我试图避免硬编码。
我已经开始通过在我的VBA代码中设置字典来实现这一点,但我之前从未使用过字典,而且到目前为止我所使用的代码并没有像我一样工作。使用此代码,Sheet2的F列中的单元格不会变为红色。
Option Explicit
Sub estArrays()
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
' Read to dictionary
Dim i As Long
For i = 1 To 17
dict.Add Sheet5.Range("C" & i).Value, 1
Next i
' Read column d
For i = 7 To 446
If dict.Exists(Sheet2.Range("D" & i).Value) Then
' Set to Red
Sheet2.Range("F" & i).Interior.Color = 3
End If
Next i
End Sub
仅供参考:价值来源于" MID" Sheet2上D列中的公式,因此,不会手动输入在D列中输入的值。提前感谢您的任何答案/反馈/建议。