循环单行根据if函数得到结果

时间:2015-03-04 04:05:41

标签: excel-vba vba excel

我正在尝试使用带有函数的循环为一行中的每个单元格执行函数。为了更好地解释,这是我想要做的:

     A      b       C       D       E
1    al     sl      al      HD      al

2 

我有上面的excel单元格,我想在单元格A2中的代码中说出

Dim cng As Range
Dim rng As Range

Set rng = Range("A1:E1")

   For Each cng In rng
     If Cells(1, 1) = "al" Then
       Cells(2,1) = 8
        Else
        Cells(2, 1) = 0
        End If
        Next cng
end sub

我希望代码也为B2C2D2E2执行相同操作。 非常感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您需要将该列设为变量 如果我明白您的观点,您可能需要使用 Select Case 而不是 If

Dim cng As Range Dim rng As Range

Set rng = Range("A1:E1")

For Each cng In rng
If Cells(1, rng.Column) = "al"
Then Cells(2,rng.Column) = 8 Else Cells(2, rng.Column) = 0
End If
Next cng
End Sub

更新:
搞砸了cng-rng的区别。

Sub ert()
Dim cng As Range, rng As Range
Set rng = Range("A1:E1")
For Each cng In rng
    If Cells(1, cng.Column) = "al" Then
        Cells(2, cng.Column) = 8
    Else
        Cells(2, cng.Column) = 0
    End If
Next
End Sub
相关问题