首页 > 解决方案 > 将过滤后的可见单元格从一列复制并粘贴到 VBA 中的另一列

问题描述

我在我的宏中激活了我的 excel 文件的自动过滤器。当我运行我的代码时,我收到以下错误消息:

运行时错误 438,对象不支持此属性或方法

我试图通过 逐步运行我的宏F8,似乎下面的这一行产生了这个错误:

Range(ActiveCell, ActiveCell.End(xlDown)).Paste

我希望我的宏执行以下操作:

如果有人可以帮助我,那就太好了。

Sub fuelstep4ArvalBIF()
  Application.ScreenUpdating = False
  Range("A1").Select
  Selection.AutoFilter

  ActiveSheet.Range("$A$1:$AF$3000").AutoFilter Field:=25, Criteria1:=Array( _
  "21.00", "21", "19.00", "19", "5.50", "5.5", "13.00", "13"), Operator:=xlFilterValues

  Call  FirstVisibleCellAA
  Range(ActiveCell, ActiveCell.End(xlDown)).Copy  Call FirstVisibleCellK
  Range(ActiveCell, ActiveCell.End(xlDown)).Paste Call FirstVisibleCellJ 
  ActiveCell.Value = "J0" ActiveCell.Copy Range(ActiveCell, 
  ActiveCell.End(xlDown)).Paste 
End Sub 

Sub FirstVisibleCellK()
  With ActiveSheet.AutoFilter.Range
   Range("K" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Select
  End With
End Sub 

Sub FirstVisibleCellAA()
  With ActiveSheet.AutoFilter.Range Range( _ 
  "AA" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Select
  End With
End Sub 

Sub FirstVisibleCellJ() With ActiveSheet.AutoFilter.Range
  Range("J" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Select
End With End Sub

在此先感谢您的帮助。

标签: vbaexcelautofilter

解决方案


推荐阅读