Range 类的自动填充方法在填充表时失败
Posted
技术标签:
【中文标题】Range 类的自动填充方法在填充表时失败【英文标题】:Autofill Method of Range class failed while populating table 【发布时间】:2016-03-14 12:11:00 【问题描述】:我目前正在处理一个 Excel 项目,该项目获取原始数据并将其放入表格中。目前该表根据复制到其中的数据的大小调整大小。我遇到的问题是,故事的大部分内容都是基于数据的公式。我正在尝试根据从数据确定的大小将公式自动填充到表的末尾,并得到错误“范围类的自动填充方法失败”
ColNo = 26 + ((large - Year(Date)) * 4)
ColLet = Split(Cells(, ColNo).Address, "$")(1)
Sheets(sheetsSA).Range("V3:W4").AutoFill Destination:=Sheets(sheetsSA).Range("V3:W" & semi_end + 1)
****Sheets(sheetsSA).Range("X3:Y4").AutoFill Destination:=Sheets(sheetsSA).Range("X3:" & ColLet & semi_end + 1)****
星号线是给出问题的线。任何帮助将不胜感激。前两行查找用于自动填充的列的字母。 谢谢
【问题讨论】:
【参考方案1】:AutoFill
命令在范围参数的第一部分需要整个列宽。
这行代码应该可以工作:
Sheets(sheetsSA).Range("X3:" & ColLet & "4").AutoFill Destination:=Sheets(sheetsSA).Range("X3:" & ColLet & semi_end + 1)
此外,`With End With Statement' 会很好地搜索您
With Sheets(sheetsSA)
.Range("V3:W4").AutoFill Destination:=.Range("V3:W" & semi_end + 1)
.Range("X3:" & ColLet & "4").AutoFill Destination:=.Range("X3:" & ColLet & semi_end + 1)
End With
【讨论】:
非常感谢斯科特,这很好用!我不知道在参数的第一部分中需要整个列宽。感谢您的帮助。 是的,直觉上,如果你想它是有道理的。您必须先知道要填充的确切范围,然后才能填充:) 同意,我越想越有意义。我对 VBA 和 Excel 还是很陌生。感谢您的帮助:)以上是关于Range 类的自动填充方法在填充表时失败的主要内容,如果未能解决你的问题,请参考以下文章
运行代码时,它返回 - 范围类的自动填充方法在代码的最后一行失败:VBA