Excel - 条件付きで行を削除するためのマクロ
マクロは、特定の条件を満たす行を削除するなど、 Excelワークシート上のさまざまな操作に使用できます。 必須ではありませんが、プログラミングの概念とforループに関する知識があれば、Excelでマクロを記述するのに役立ちます。 特定の条件を満たす行を削除するExcelのマクロは 、最初から作成することも、無料で入手可能なマクロコードから開発することもできます。 マクロは非常に便利な機能であり、多数のレコードを含むExcelワークシートでデータ操作を実行するために使用できます。 Excelのマクロはプロセスを自動化し、タスクを迅速かつエラーのないものにします。 ![](//img.brin-designs.com/img/games/536/excel-macro-deleting-row-condition.png)
![](http://img.brin-designs.com/img/games/536/excel-macro-deleting-row-condition.png)
問題
行内のどのセルにも " 103526 "または " 103527 "の2つの番号のいずれかが含まれていない場合、行を削除するためのマクロが必要です 。
行数は可変(最大150)、列数も可変(最大100)です。
任意の助けは大歓迎です。
溶液
あなたの状態は私を混乱させています。 言い換えます。
行に103526または102527、あるいはその両方が含まれている場合は、削除しないでください。
2つの数字のどちらも連続していない場合は、削除してください。
これで、行を削除するときに、問題が発生した場合にデータをコピーできるように、sheet1のデータのコピーをsheet2に保存します。
データはシート1にあります。次のマクロを試してください。
Sub test()整数としてのj j整数としてのk d範囲としてのcfind6範囲としてのcfind7、範囲としてのcfind7ワークシート( "sheet1")エラー時に有効化再開次へj =セル(行数、 "A")終了(xlUp).k = jの場合1から-1 Step -1 cfind6 = Rows(k).Cells.Find(what:= 103526、lookat:= xlWhole)cfind7 = Rows(k)を設定する.Cells.Find(what: = 103527、lookat:= xlWhole)cfind6が何もなくcfind7が何もない場合はRows(k)。次へ
注意
フォーラムでこのヒントを提供してくれたvenkat1926に感謝します。