在VBA中工作,我有一个简单的工作表函数,我希望粘贴一定数量的行。
Dim RowCount As Integer
RowCount = Worksheets("Sheet1").Range("H2").End(xlDown).Row
With Worksheets("Sheet1")
.Range("L2" & RowCount).Value = "=IF(H2=""TRUE"",G2,"""")"
.Range("M2" & RowCount).Value = "=IF(I2=""TRUE"",G2,"""")"
.Range("N2" & RowCount).Value = "=IF(J2=""TRUE"",G2,"""")"
.Range("O2" & RowCount).Value = "=IF(K2=""TRUE"",G2,"""")"
End With
我的计算选项设置为自动,因此不是问题。我也在函数中使用“”作为字符串。
代码将工作表函数放在应该去的位置,但逻辑不起作用。它总是错误的。但是,当我单击函数(I2,J2,K2)引用的H2单元格,然后转义单元格时,H2中的文本向左移动,公式有效!我不想为数千个订单项执行此操作。我该怎么办?
答案 0 :(得分:0)
使用数组公式而不是逐个单元格公式。这样您就可以为整个范围输入一次公式。有关详细信息,请参见此处:http://office.microsoft.com/en-us/excel-help/introducing-array-formulas-in-excel-HA001087290.aspx。录制宏时手动完成,然后根据需要调整代码。