这个语法正确吗?

时间:2018-08-18 09:40:16

标签: excel vba excel-vba

a = 2    

k = 35

j = 3


For Each Cell In Range(Cells((k + 1), j), Cells((k + 1), (a + (j - 1))))

    If ActiveSheet.Cells(k, (j + 1)).Value = a Then

        Cell.Value = m

    Else

        Cell.Value = Sheets("LAP " & (a - 1)).Cells((k + 1), j).Value

    End If

Next Cell

IMG1

1 个答案:

答案 0 :(得分:1)

您的语法通常没问题,但是我想指出一些风险和问题:

  1. 始终使用Option Explicit:虽然起初没有用,但将来可以避免很多麻烦。它使您可以在使用变量之前声明变量,这将导致我们:

  2. 始终声明变量,例如:Dim a As Long, j As Long, k As Long

  3. 使用Cell作为循环变量,名称有意义且很好,但是VBA可能会出于其他目的保留该名称,这将导致名称冲突。

    < / li>