在屏幕截图中,您可以看到我桌子的某些部分。
在A:DI列中放入一些Value,在第1行中搜索B列中的值,并在第2行中搜索C:D的值。此后,它将在已建立范围内的单元格变为红色。
示例“ Test”和“ Test2”可以正常工作。但是3.和4.示例不适用于我的代码,因为给定的数字不在Range(“ E2:AM2”)中。
我现在的问题是,如果有5、15、25、152、87等数字,我该如何找到起始温度和终止温度?
到目前为止,这是我的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Dim a As Long
Dim turnCol As Range
Set ws = ThisWorkbook.Worksheets(1)
With ws
If Not Application.Intersect(Range("D:D"), Range(Target.Address)) Is Nothing Then
a = ActiveCell.Row
Turns = "Turn " & .Cells(a, 2).Value
StartTemp = Int(CDec(.Cells(a, 3).Value))
EndTemp = Int(CDec(.Cells(a, 4).Value))
Set turnCol = .Range("1:1").Find(What:=Turns)
Set startCol = .Range(.Cells(2, turnCol.Column), .Cells(2, turnCol.Column + 35)).Find(What:=StartTemp)
Set endCol = .Range(.Cells(2, turnCol.Column), .Cells(2, turnCol.Column + 35)).Find(What:=EndTemp)
.Range(.Cells(a, startCol.Column), .Cells(a, endCol.Column)).Interior.Color = RGB(255, 0, 0)
End If
End With
End Sub
答案 0 :(得分:0)
当前,Excel工作表之间有所不同,启用宏和禁用宏。为了使某些内容在每个Excel文件中都能正常运行,我建议您避免使用宏,除非确实需要。
在这种情况下,确实不需要宏:您可以使用条件格式解决问题:
祝你好运