我正在尝试在Excel中使用迷你日历功能,我需要一种方法来根据用户所在位置在特定日期自动输入背景色。
我这里有一些适用于个人标准的东西:
Sub Autofilldays()
'First column to check is located in cell B79
'Value to check for is located in cell H28
For i = ActiveSheet.Columns.Count To Range("B79") Step -1
If InStr(1, Cells(6, i), Range("H28")) Then Columns(i).Rows("7:19").Interior.Color = rgb(201, 201, 201)
Next i
End Sub
它拉出第一列以从单元格B79开始搜索(第一列取决于用户在其他地方输入的内容),如果它与单元格H28的内容匹配,则会在同一列中为第7至19行着色。
这很好用,但我还需要执行相同操作但需要更大范围的条件的东西,因此,例如,如果搜索到的单元格包含单元格H28:H50中保留的任何内容,则可以像以前一样对相同的行进行着色。
如果可能的话,我无法解决自己的生活,如果可能,我想知道它希望看到的语法是什么。不幸的是,它并不像更改
那样简单 If InStr(1, Cells(6, i), Range("H28"))
到
If InStr(1, Cells(6, i), Range("H28:H50"))
我希望是这样!
在这个范围内,我可能会有100个不同的可能标准,因此使用大量OR并不可行。如果有人知道我应该寻找什么,我将不胜感激。
答案 0 :(得分:0)
使用循环遍历该范围的值并分别测试每个
Dim Criteria As Variant
For Each Criteria In Range("H28:H50").Value
If InStr(1, Cells(6, i), Criteria)
'your code
End If
Next Criteria