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

Vba 通过用户指定的列数在同一行中自动填充公式,vba,excel,Vba,Excel,我录制了一个宏,通过A5:D5自动填充公式。但是,与每次填充P列不同,宏应该询问用户希望自动填充公式的列数。e、 g.如果用户给出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 范围(“A5”)

我录制了一个宏,通过
A5:D5
自动填充公式。但是,与每次填充P列不同,宏应该询问用户希望自动填充公式的列数。e、 g.如果用户给出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
范围(“A5”)。选择

ActiveCell.FormulaR1C1=“=IF(R[-1]C将最后一行代码替换为:

 Range("A5").Resize(1,myValue).FillRight
事实上,您可以用这一行替换最后3行:

 Range("A5").Resize(1,myValue).FormulaR1C1 = "=IF(R[-1]C<=R8C4,EDATE(RC[-1],1),"""")"
Range(“A5”)。调整大小(1,myValue)。公式1c1=“=IF(R[-1]C
 Range("A5").Resize(1,myValue).FormulaR1C1 = "=IF(R[-1]C<=R8C4,EDATE(RC[-1],1),"""")"