2017-09-26 52 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