在Excel中,macros错误“范围类失败的自动填充方法”

我试图在macros中运行下面的脚本,它不断给我这个错误“范围类的自动填充方法失败”。 有什么build议吗?

Dim WS_Count As Integer Dim I As Integer WS_Count = ActiveWorkbook.Worksheets.Count For I = 9 To WS_Count Sheets(I).Select Selection.AutoFill Destination:=Range("C19:C114"), Type:=xlFillDefault Range("C19:C114").Select Next I 

请确保您的表名与Sheet(I)完全相同。这表明我是一个正确的号码。 所以你的表名是数字?

 Dim WS_Count As Integer Dim I As Integer WS_Count = ActiveWorkbook.Worksheets.Count For I = 9 To WS_Count Sheets(I).Select Range("C19:C20").Select Selection.AutoFill Destination:=Range("C19:C114"), Type:=xlFillDefault Range("C19:C114").Select Next I 

你可以尝试这个不需要select任何东西。 它也消除了屏幕闪烁并且更快。

 Sub AutoFillC() Dim WS_Count As Integer Dim I As Integer Application.ScreenUpdating = False WS_Count = ActiveWorkbook.Worksheets.Count For I = 9 To WS_Count Sheets(I).Range("C19:C20").AutoFill _ Destination:=Range("C19:C114"), Type:=xlFillDefault ' Range("C19:C114").Select **There is rarely need to _ use the .Select method! Next I Application.ScreenUpdating = True End Sub 

@ harun24hr几乎不需要在工作表上select任何范围。 对于OP这样的简单命令,指定范围和您想应用的方法。 如果你在Range上有多个方法要执行,使用这样的结构。 注意时间段“。” 每个方法之前

With Range '.Method '.Method1 End With

select范围会减慢代码速度,特别是如果您尚未禁用ScreenUpdating。