2017-02-17 49 views
0

我有以下公式,其中S1單元格引用在公式在整個範圍內執行時遞增,例如, S2,S3,S4。具有動態單元格引用的公式

=INDEX(Range1,((ROW(S1)-1)*Range1=2+ROW(S1)),1,MATCH(1,(Range3=Fixed_Period)*(Range4=Mortgage_InitialRate),0)) 

我使用的此代碼段將上述式適用於每一個細胞中的動態範圍,然而,因爲S1不增加通過這樣的方法,對於每一個小區中的結果是相同的。因此,我怎麼能確保S1的增量,每一個新行S2,S3,S4等

Sub Formula() 
Dim FLrange As Range 
Set FLrange = Range("Range10") 

For Each cell In FLrange 
cell.Offset(0, 5).FormulaArray = "=INDEX(Range1,((ROW(S1)-1)*Range1=2+ROW(S1)),1,MATCH(1,(Range3=Fixed_Period)*(Range4=Mortgage_InitialRate),0))" 

Next cell 
End Sub 
+1

此外,'((ROW(S1)-1)* Range1 = 2 + ROW(S1))',你是索引一個布爾值?似乎在你的公式中有一個語法錯誤。 –

回答

1

增量的整數變量(說「民」),每個循環迭代,並使用「S」 & NUM而不是「S1」

Sub Formula() 
    Dim FLrange As Range 
    Set FLrange = Range("Range10") 
    Dim num As Integer 
    num=1 
    For Each cell In FLrange 
    cell.Offset(0, 5).FormulaArray = "=INDEX(Range1,((ROW(S" & num & ")-1)*Range1=2+ROW(S" & num & ")),1,MATCH(1,(Range3=Fixed_Period)*(Range4=Mortgage_InitialRate),0))" 
    num=num+1 
    Next cell 
End Sub 
相關問題