質問: エクセル vba 特定文字がある行を別シートに移動 ソフト excel2003 i列(赤枠部分)に文字列が入力された表があります。 マクロ実行時下記のようにするには、vbaのコードをどのように記入すればよろしいでしょうか? 『 △ 』ボタンをクリックすると シート1の赤枠内のセルに△が入力されている行を切り取りしシート2に貼り付け (下の行は上方向にシフト) 『 × 』ボタンをクリックすると シート1の赤枠内のセルに×が入力されている行を切り取りしシート3に貼り付け (下の行は上方向にシフト) ※ シート1の内容は日毎に更新されますので、更新後、『 △ 』ボタンをクリックするとその時点で△が入力されているものはシート2のリストへ追加され、『 × 』ボタンをクリックすると×が入力されているものはシート3のリストへ追加されるようにしたいです。 急ぎの仕事なので、困っています。 宜しくお願い致します。
回答: とりあえず△の方をサンプルとして作りました。 ×の方はこれを改造してください。 sub sankaku() 'sheet2の挿入位置(c列は結合セルではなく、必ず何か入っている事) nmax2 = sheets("sheet2").cells(rows.count, 3).end(xlup).row + 1 with sheets("sheet1") nmax1 = .cells(rows.count, 9).end(xlup).row for i = nmax1 to 2 step -2 if .cells(i, 9) = "△" then 'a~j列を移動対象とする .range(.cells(i, 1), .cells(i + 1, 10)).copy sheets("sheet2").cells(nmax2, 1).insert shift:=xldown .range(.cells(i, 1), .cells(i + 1, 10)).delete shift:=xlup end if next i end with end sub