自动填充公式在同一行中通过用户指定的列数

时间:2015-08-03 14:33:51

标签: excel vba excel-vba

我录制了一个宏来通过A5:D5自动填充公式。但是,每次宏都应该向用户询问他/她想要自动填充公式的列数,而不是每次填充P列。例如如果用户提供6列,则公式应填写A5:F6,依此类推。

Range("A5").Select
ActiveCell.FormulaR1C1 = "=IF(R[-1]C<=R8C4,EDATE(RC[-1],1),"""")"
Selection.AutoFill Destination:=Range("A5:D5"), Type:=xlFillDefault

我试过这样做。

Dim myValue As Integer
myValue = InputBox("Enter number of months")
Range("A5").Select
ActiveCell.FormulaR1C1 = "=IF(R[-1]C<=R8C4,EDATE(RC[-1],1),"""")"
Selection.AutoFill Destination:=Range("A5:" & myValue & "5"),   Type:=xlFillDefault

1 个答案:

答案 0 :(得分:2)

将最后一行代码替换为:

 Range("A5").Resize(1,myValue).FillRight

事实上,你可以用这一行替换最后3行:

 Range("A5").Resize(1,myValue).FormulaR1C1 = "=IF(R[-1]C<=R8C4,EDATE(RC[-1],1),"""")"