質問: vbaで一覧表から特定の条件の行を抽出する vbaにて以下の動作となるようにするにはどのようにしたらよいかご教授ください。 <詳細> a列 b列 c列 工藤 a勤務 東京 田中 b勤務 神奈川 鈴木 c勤務 大阪 石田 a勤務 長崎 ・ ・ ・ 上記が2~200行まで入力あります。 上記よりb列がa勤の人を、行ごと300行目~に抽出 b勤の人を400行目~に抽出するにはどうしたらよいでしょうか どなたかご教授お願い致します。
回答: こんばんは! vbaになりますが一例です。 1行目は項目行になっているという前提です。 sub sample1() dim lastrow as long lastrow = cells(rows.count, "a").end(xlup).row if lastrow >= 300 then range(cells(300, "a"), cells(lastrow, "c")).clearcontents end if with range("a1").currentregion .autofilter field:=2, criteria1:="a勤務" .specialcells(xlcelltypevisible).copy range("a300").pastespecial paste:=xlpastevalues .autofilter field:=2, criteria1:="b勤務" .specialcells(xlcelltypevisible).copy range("a400").pastespecial paste:=xlpastevalues end with activesheet.autofiltermode = false application.cutcopymode = false end sub こんな感じではどうでしょうか?m(_ _)m