質問: true '画面切替停止解除 end sub
回答: こんばんは! no.1さんが仰っているように行(列)削除・挿入の場合は 最終行・最終列から逆に操作するほうが一般的です。 お示しのコードに手を加えるとすると sub 行削除() dim 最終行 as long dim 最終列 as long dim 対象行 as long 最終列 = cells(8, columns.count).end(xltoleft).column 最終行 = cells(rows.count, "a").end(xlup).row for 対象行 = 最終行 to 10 step -1 if cells(対象行, 最終列) = 0 then rows(対象行).delete end if next 対象行 end sub こんな感じでしょうか。 ※ 余計なお世話かもしれませんが、データ量が極端に多い場合はループさせるとかなりの時間を要しますので 一気に削除する方法の一例です。 尚、8行目は項目行で空白セルがなく最終列まで項目が入っているとします。 (9行目も何らかのデータが入っているとする) sub sample1() dim lastrow as long, lastcol as long lastrow = cells(rows.count, "a").end(xlup).row lastcol = cells(8, columns.count).end(xltoleft).column range("a8").autofilter field:=lastcol, criteria1:=0 on error resume next '←念のため rows(10 & ":" & lastrow).specialcells(xlcelltypevisible).delete autofiltermode = false end sub これでも同様の結果になると思います。m(_ _)m