对变量no.of应用vlookup公式

时间:2014-06-27 13:50:57

标签: excel vba excel-vba vlookup

我有一张excel表,其中前3列是一个数据透视表,每当我刷新它时,没有。行可能会改变。列E,F,G,H,我使用基于A,B,C列的VLOOKUP公式。

自从没有。行正在改变,我怎样才能确保vlookup公式也根据no自动调整列E,F,G,H,I。 A,B,C行?

附件是一张图片,您可以在其中看到该公式不适用于最后3行,如果要工作,我手动拖动它们。 enter image description here

1 个答案:

答案 0 :(得分:0)

有点蛮力就是做

之类的事情
' Just Refreshed Pivot Table
'
' Assumes variable ws refers to this worksheet
' Assumes your formulas start on row 2

ws.Range("E2:I2").Copy ws.Range("E3:E" & ws.UsedRange.Rows.Count)

然后在E列中的公式周围放置一个if语句(和其他列上类似的if语句):

=If(C2="","",VLookup(...))

您始终可以采用更强大的方式来确定左侧与右侧的行数。或者单步执行:

For i = 1 to ws.UsedRange.Rows.Count
    If(ws.Cells(i,3).Value = "")
        ws.Range("E" & i & ":I" & i).ClearContents
    Else
        '''  Apply your formulas / values in columns E through I of row i
    End If
Next i