Sub NewThing()
Dim Cell As Range
For Each Cell In Worksheets("Question 2").Range("B3:B11").Cells
If Cell.Value >= 90000 Then
Range("C3:C11").Value = Cell.Value * 1.5
Else
Range("C3:C11").Value = Cell.Value * 1.1
End If
Next Cell
End Sub
当我进入 vba 编辑器时,我可以看到 C3:C11 中的值循环,我做错了什么?它从 B11 中获取最后一个值并将其用于整个列。请帮忙。
这里的问题是,您在每次迭代中都使用单个值设置整个范围
C3:C11
,而不是在循环中设置相应单元格的值。您不应该更新整个范围,而应该更新C 列中的相应单元格。您可以使用
Offset
方法或通过明确引用 C 列中的单元格来修复它。我不是 VBA 专家,但它似乎循环正确,但每次迭代时您都会将 cell.value 乘法应用于整个列。您想要的是计算每个单元格的乘法,并将该值放在右侧。
而不是
你可能想要类似的东西
代替
经过