копировать и вставлять отфильтрованные видимые ячейки из одного столбца в другой столбец в VBA - PullRequest
0 голосов
/ 27 августа 2018

В моем макросе активирован автофильтр для файла Excel. Когда я запускаю свой код, я получаю следующее сообщение об ошибке:

Ошибка времени выполнения 438, объект не поддерживает это свойство или метод

Я попытался запустить свой макрос шаг за шагом через F8 , похоже, что эта строка ниже вызвала эту ошибку:

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

Я хочу, чтобы мой макрос выполнил следующее действие:

  • Все мои видимые отфильтрованные строки в столбце AA скопированы в столбец K
  • Все мои видимые отфильтрованные строки в столбце J заменены значением «J0»

Если бы кто-то мог мне помочь, было бы здорово.

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

Заранее спасибо за помощь.

...