【发布时间】:2019-11-14 07:04:46
【问题描述】:
我有一个宏可以筛选某个范围内的单元格,当单元格或其相邻单元格为红色或绿色时,它会为另一个单元格分配一个值,并且它是另一个工作表中的相邻单元格。我已经走了这么远,第一部分有效,但是第二个“循环”我自己无法弄清楚。换句话说,在下面的代码中,我希望 Range ("C1") 和 Range ("D1") 更新为 Range ("C2") 和 Range ("D2") 等等。
Sub AutoTrack()
Dim rng As Range
Dim cell As Range
Set rng = Workbooks("Test").Worksheets("Track").Range("I2:I10")
For Each cell In rng
If cell.DisplayFormat.Interior.Color = RGB(146, 208, 80) Or cell.Offset(0,
1).DisplayFormat.Interior.Color = RGB(146, 208, 80) Then
Worksheets("Result").Range("D1") =
WorksheetFunction.MRound(Worksheets("Track").Range("J2").Value + 0.125,
0.125)
Worksheets("Result").Range("C1") =
WorksheetFunction.MRound(Worksheets("Result").Range("D1") - 0.75, 0.125)
ElseIf
Worksheets("Track").Range("J2").DisplayFormat.Interior.Color = RGB(255, 0, 0)
Or Worksheets("Track").Range("I2").DisplayFormat.Interior.Color = RGB(255, 0,
0) Then
Worksheets("Result").Range("C1") = WorksheetFunction.MRound(Worksheets("Track").Range("I2") - 0.125, 0.125)
Worksheets("Result").Range("D1") =
WorksheetFunction.MRound(Worksheets("Result").Range("C1") + 0.75, 0.125)
End If
Next cell
End Sub
【问题讨论】:
-
每个循环的“J2”范围是否也会改变?
标签: excel vba if-statement range