我的代码无法正常工作。对于列颜色中的每一行,其给出“绿色”结果。谁能帮我找出代码有什么问题吗?
Sub warna()
Dim wb As Workbook
Dim ws As Worksheet
Dim rng As Variant
Dim vl As Range
Set wb = ThisWorkbook
Set ws = wb.Sheets("Sheet1")
Set rng = ws.Range("B2:B" & ws.Cells(ws.Rows.Count, 1).End(xlUp).Row)
Set vl = ws.Range("B:B")
For Each vl In rng
Select Case vl.Formula
Case "Mango": rng.Offset(0, 1).Formula = "Green"
Case "Apple": rng.Offset(0, 1).Formula = "Pink"
Case "Tangerine": rng.Offset(0, 1).Formula = "Orange"
Case "Cherry": rng.Offset(0, 1).Formula = "Red"
End Select
Next vl
End Sub
按照评论中的建议对代码进行调整
' Set vl = ws.Range("B:B") <= not needed at all
For Each vl In rng
Select Case vl.Formula
Case "Mango": vl.Offset(0, 1).Formula = "Green"
Case "Apple": vl.Offset(0, 1).Formula = "Pink"
Case "Tangerine": vl.Offset(0, 1).Formula = "Orange"
Case "Cherry": vl.Offset(0, 1).Formula = "Red"
End Select
Next vl