2017-09-26 48 views
1

如何在範圍始終不同的報表上使用公式。例如我想乘A列和B列,所以我想寫一個代碼,我可以乘以A * B並將公式(或使用自動填充)擴展到最後一行。最大的挑戰是必須以每次運行此宏的方式編寫,列A和列B將具有不同數量的行(列A & B將始終等於行數)。例如,我今天用300行運行這個宏,下一次我運行它,我將有500行。如何使用範圍始終不同的公式

+4

你嘗試過什麼 - 發佈您的代碼? – SJR

+0

所以這是我的,但它並沒有真正的工作。 (昏暗LASTROW只要 Application.ScreenUpdating =假 LASTROW =細胞(Rows.Count, 「A」)結束(xlUp).Row 範圍( 「C2:C」 &LASTROW).Formula =「= A2 * B2「 Application.ScreenUpdating = True) –

+1

請在代碼標籤中添加您原來的帖子,以便它可讀。 – SJR

回答

1

使用Range.AutoFill方法。

Sub FillColumnC() 

    Dim LastRow As Long 
    Application.ScreenUpdating = False 
    LastRow = Cells(Rows.Count, "A").End(xlUp).Row 
    Range("C2").Formula = "=A2*B2" 
    Range("C2").AutoFill Range("C2:C" & LastRow) 
    Application.ScreenUpdating = True 

End Sub 

前:

___A___B___C 
1|    
2| 2 3  
3| 3 6  
4| 4 8  
5| 5 1  
6| 6 2  
7| 7 9  

後:

___A___B___C 
1|    
2| 2 3 6 
3| 3 6 18 
4| 4 8 32 
5| 5 1 5 
6| 6 2 12 
7| 7 9 63 
0

你可以試試這樣的事情...

Sub FormulaInDynamicRange() 
Dim LR As Long 
Application.ScreenUpdating = False 
LR = Cells(Rows.Count, 1).End(xlUp).Row 
Range("C2:C" & LR).Formula = "=A2*B2" 
Application.ScreenUpdating = True 
End Sub