在工作表上复制的乘法公式vba

这个vba是为了在工作表Y中的列J中inputcol I和col G之间的乘法结果,但是当我单击我的vbabutton列J时仍然是空白的(从J列中的第2行复制公式)。 任何想法如何解决这个将不胜感激。

With Sheets("YYYY") With .Range("J2", .Cells(.Rows.Count, "J").End(xlUp)) .Formula = "=I2*G2" .Value = .Value End With End With 

我怀疑J列中的单元格最初是空白的,所以你正在更新的范围不是在IG列中有数据的范围。 出于这个原因,你只更新第一个或两个单元格。 这是因为.Cells(.Rows.Count, "J").End(xlUp)产生J列上的最后一个填充的单元格,如果J列未填充,则J1J1

例如,要捕获在第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)