0

C列的公式是

=VLOOKUP($B2,Sheet1!$A$2:$C$100,2,0) 

它从中获取价值,Sheet1并且可以正常工作。

现在我想提出一个条件

If cell D2:D100 is empty then make C2:C100 empty

C2:C100包含一个 vlookup 公式,我想从单元格中清除公式。

其次,我们如何在宏中运行它=VLOOKUP($B2,Sheet1!$A$2:$C$100,2,0)

4

1 回答 1

0

manimatters 有一个很好的解决方案来使用带有 IF 公式的 ISBLANK。如果您仍然想要第二个问题的宏,我在下面提供了它。

此宏会将C2中的公式设置为=VLOOKUP($B2,Sheet1!$A$2:$C$101,2,FALSE),然后将此公式填充到C100

Sub RestoreVLookup()
    Range("C2").FormulaR1C1 = "=VLOOKUP(R[0]C2,Sheet1!R1C1:R101C3,2,FALSE)"
    Range("C2").Select
    Selection.AutoFill Destination:=Range("C2:C100"), Type:=xlFillDefault        
End Sub

让我们看看不同的部分:

Range("C2").FormulaR1C1- 为单元格分配公式C2"=VLOOKUP(R[0]C2,Sheet1!R1C1:R101C3,2,FALSE)"这是分配的公式

R[0]- 偏移量为零的相对行。 R[1]将指向上面的行并R[-1]引用下面的行。

C2- 第 2 列(又名 B 列)

Range("C2").Select- 选择单元格C2

Selection.AutoFill ... Type:=xlFillDefault- 自动填充公式从C2C100

于 2013-09-14T11:41:48.887 回答