0

在 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 中的文本向左移动并且公式有效!我不想为成千上万的订单项这样做。我应该怎么办?

4

1 回答 1

0

使用数组公式而不是逐个单元格公式。这样您就可以为整个范围输入一次公式。有关详细信息,请参见此处:http ://office.microsoft.com/en-us/excel-help/introducing-array-formulas-in-excel-HA001087290.aspx 。在录制宏时手动完成,然后根据需要调整代码。

于 2013-08-12T16:54:22.783 回答