为VBA Excel范围内的每个单元格设置偏移值

Spe*_*end 1 excel vba excel-vba

我试图比较一个范围内的每个单元格的值.一旦匹配,我想将另一个变量设置为旧的偏移3列的值.

For Each i In Worksheets("SFDC Input").Range("D2:D20").Cells
    If ProductFamily = i Then
        i.Offset(0, -3).Value = ID
    End If
Next
Run Code Online (Sandbox Code Playgroud)

ProductFamily是我与i相比的价值.我希望ID成为价值持有者.

Bri*_*ips 11

看起来你的作业(=)是倒退的.你的设置i.Offset(0, -3).Value,以ID代替设置ID的值.

请尝试以下方法:

ID = i.Offset(0, -3).Value
Run Code Online (Sandbox Code Playgroud)

来自MSDN:

=运算符将其右侧的值赋给其左侧的变量或属性.