- ベストアンサー
マクロの記述について
エクセルのマクロについて教えてください。 A列には氏名B列にはコードが入っておりC列からG列に数字が入ります。 C列からG列までのすべてが0の時にその行を削除したいのです。 よろしくお願いします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ん-? >ちなみにセルが0または空白としたときは 変更前: range("A:G").autofilter field:=i, criteria1:=0 変更後: range("A:G").autofilter field:=i, criteria1:=0, operator:=xlor, criteria2:="=" #ついでについでにと後出しダラダラいつまでも終わらないご相談ばっかりで,うんざりしています。 ってお話ししとかないと,みんないい顔でナニヤッテモ優しく教えてくれるモンだって勘違いしちゃうでしょ?
その他の回答 (2)
- keithin
- ベストアンサー率66% (5278/7941)
まとめて削除してみます。 sub macro1() dim i activesheet.autofiltermode = false for i = 3 to 6 range("A:G").autofilter field:=i, criteria1:=0 next i activesheet.autofilter.range.offset(1).entirerow.delete shift:=xlshiftup activesheet.autofiltermode = false end sub
補足
適切な回答ありがとうございました。 思い通りに処理ができました。 ちなみにセルが0または空白としたときは 記述はどのようになりますか? すみませんが教えていただけると助かります。
- mu2011
- ベストアンサー率38% (1910/4994)
マクロ例です。 対象シートタブ上で右クリック→jコードの表示→サンプルコード貼り付け→シート上でAlt+F8キー押下→sample実行 因みにデータ先頭行は見出しとしています。 Sub sample() Dim i As Long For i = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1 If Application.CountIf(Cells(i, "C").Resize(, 5), 0) = 5 Then Rows(i).Delete End If Next End Sub
お礼
確かにおっしゃる通りですね。 回答がこちらの希望したとおりの結果でしたので 同じ方に聞くのが適切な回答が得られると思い 安易に追加してしまいました。 まず最初の回答に区切りをつけるべきですよね。 以後気をつけます。