这个vba意味着在工作表YYYY上的第J列输入col I和col G之间的乘法结果但是当我单击我的vba按钮列J仍然是空白时(从J列中的第2行复制公式) )。如何解决这个问题的任何想法将不胜感激。
With Sheets("YYYY")
With .Range("J2", .Cells(.Rows.Count, "J").End(xlUp))
.Formula = "=I2*G2"
.Value = .Value
End With
End With
答案 0 :(得分:0)
我怀疑列J
中的单元格最初是空白的,因此您要更新的范围不是列I
和G
中包含数据的范围。
因此,您只更新了前一个或两个单元格。这是因为.Cells(.Rows.Count, "J").End(xlUp)
会在列J
上生成最后一个填充的单元格,如果未填充列J1
,则为J
。
例如,要捕获列I
中填充的行,您可以尝试改为:
With .Range("J2:J" & .Cells(.Rows.Count, "I").End(xlUp).Row)
或者类似地,捕获列I
中填充的行,然后向右移动到J
:
With .Range("I2", .Cells(.Rows.count, "I").End(xlUp)).Offset(0,1)