2017-12-04 11 views
0

以下のコードは動作していますが、エラーが発生しています。Excelマクロの自動フィルタリングと行の削除

コーディングは別のワークシートを選択し、列を自動フィルタリングして行を削除します。

ラインがトラブルを抱えて.AutoFilter 1、である "Noいいえ"

実行時エラー '1004':範囲CLASのオートフィルタメソッドが失敗しました。

助けてもらえますか?

Private Sub Project() 
Worksheets("YesYes").Select 
With ActiveSheet 
.AutoFilterMode = False 
With Range("y1", Range("y" & Rows.Count).End(xlUp)) 
    .AutoFilter 1, "*NoNo*" 
    On Error Resume Next 
    .Offset(1).SpecialCells(12).EntireRow.Delete 
End With 
.AutoFilterMode = False 
End With 
End Sub 
+0

列yに「NoNo」が含まれている行を削除しようとしていますか? – Ibo

+0

私のために働く...あなたは列yにデータがあると確信していますか? – xthestreams

+0

はい、列yで "NoNo"の行を削除しようとしています。上記のマクロは、ボタンがテーブルと同じシートにある場合に機能しますが、別のシートにボタンがあり、これがエラーの原因です。残念ながら、別のシートにボタンが必要です。 –

答えて

0

ワークシートを必ず「アクティブ化」する必要はありません。代わりに:

Worksheets("YesYes").Select 
With ActiveSheet 

これを行います。SelectActivateを使用して時間の

Worksheets("YesYes").Activate 
With ActiveSheet 
0

99%は必要ありません。

With Worksheets("YesYes") 

をし、使用の下にネスト:

代わりにあなたのケースでの使用には、完全修飾されたオブジェクトを使用

With .Range("y1", .Range("y" & .Rows.Count).End(xlUp)) 

をそして、あなたのコードの残りの部分を追加します。

関連する問題