Excel 使用AutoFill提示“类Range的AutoFill方法无效”

Sub 库存查询()

Sheet9.Range("a2:w" & Sheet9.Range("a65536").End(xlUp).Row).ClearContents

If UserForm4.TextBox1.Value = "" And UserForm4.TextBox2.Value = "" And UserForm4.ComboBox1.Value <> "" Then

Sheet7.Range("a2:k" & Sheet6.Range("a65536").End(xlUp).Row).AutoFilter field:=1, Criteria1:=UserForm4.ComboBox1.Value

Sheet7.Range("a2:k" & Sheet6.Range("a65536").End(xlUp).Row).Copy Sheet9.Range("a" & Sheet9.Range("a65536").End(xlUp).Row)

Sheet7.Range("a2:k" & Sheet6.Range("a65536").End(xlUp).Row).AutoFilter
Else
MsgBox "库存查询无需选择日期4"

End If
End Sub

img

引用 皆我百晓生 小程序回复内容作答:

在你的 VBA 代码中,出现了 "类Range的AutoFill方法无效" 的错误提示。这通常意味着可能存在一些问题,需要检查和更正。以下是一些可能导致此错误的原因和解决方法:

  1. 错误的对象引用:

    • 确保你正在使用正确的工作表对象。你使用了 Sheet9Sheet7Sheet6,但这些对象需要事先声明和设置。
    • 确认这些工作表不是隐藏的,否则 AutoFill 方法会无效。
  2. 数据的范围问题:

    • 确保你的数据在正确的范围内。例如,Sheet9.Range("a2:w" & Sheet9.Range("a65536").End(xlUp).Row)Sheet7.Range("a2:k" & Sheet6.Range("a65536").End(xlUp).Row)。确保这些范围包含你的实际数据。
    • 确保数据范围中没有包含空白行或列,这可能导致 AutoFill 方法无效。
  3. AutoFilter 方法的使用:

    • 确认你正确地使用了 AutoFilter 方法。确保该方法应用在正确的工作表和范围上,并且设置了正确的过滤条件。
    • 确保在完成过滤操作后,再执行 AutoFill 方法。

请根据上述提示逐个排查这些可能导致错误的原因,并进行相应的修正。