我正在进行一个项目,在该项目中我绘制了房屋存货位置地图。在一张纸上是地图,在另一张纸上是没有从查询中拉出 X 天的库存。我想要做的是用红色突出显示地图上的位置,该红色对应于包含旧库存的位置。
每个示例:
我尝试使用条件格式来执行此操作,但无法提出公式来完成此操作,我还编写了以下代码,希望获得相同的结果而没有成功(运行此操作会导致excel崩溃):
Sub Highlight()
Dim Locations As Range
Dim Old_Inv As Range
Dim MyRange As Range
Dim MyRange2 As Range
Set Locations = Worksheets("Sheet3").Range("C4:CD71")
Set Old_Inv = Worksheets("Sheet2").Range("C2:C20000")
For Each MyRange In Locations
For Each MyRange2 In Old_Inv
If MyRange.Value = MyRange2.Value Then
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark2
End With
End If
Next MyRange2
Next MyRange
End Sub
请注意,我对VBA的使用经验很少,如果这与实际情况不符,对不起。任何想法或建议将不胜感激
答案 0 :(得分:0)
对于条件格式:
C4
=NOT(ISNA(VLOOKUP(C4, Sheet2!$C$2:$C$2000,1,FALSE)))
=$C$4:$CD$71
公式的说明:
VLOOKUP将在Sheet2(第二个参数)的给定范围内搜索单元格C4(第一个参数)的值。如果找到了确切的值(第四个参数必须为1
),它将返回该值(公式中的第三个参数FALSE
告诉您)。
如果找不到该值,则excel返回#NA
,该值由周围的IsNA
函数检查。因为这样会格式化列表中值 not 的单元格,所以用NOT
-函数将整个内容包围起来,该函数将还原结果。