我有一张excel表,其中前3列是一个数据透视表,每当我刷新它时,没有。行可能会改变。列E,F,G,H,我使用基于A,B,C列的VLOOKUP公式。
自从没有。行正在改变,我怎样才能确保vlookup公式也根据no自动调整列E,F,G,H,I。 A,B,C行?
附件是一张图片,您可以在其中看到该公式不适用于最后3行,如果要工作,我手动拖动它们。
答案 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