プロが教えるわが家の防犯対策術!

VBAにて以下の動作となるようにするにはどのようにしたらよいかご教授ください。

<詳細>
A列   B列   C列
工藤  A勤務  東京
田中  B勤務  神奈川
鈴木  C勤務  大阪
石田  A勤務  長崎



上記が2~200行まで入力あります。

上記よりB列がA勤の人を、行ごと300行目~に抽出
B勤の人を400行目~に抽出するにはどうしたらよいでしょうか

どなたかご教授お願い致します。

質問者からの補足コメント

  • うーん・・・

    コメントありがとうございます。
    上記を実施した際ですが、A勤、B勤それぞれ最初に条件に合致したものを300 or 400行に
    貼り付けており、以降は抽出できておりません。
    A勤、B勤それぞれを全て抽出するにはどのようにしたらよいでしょうか。
    宜しくお願い致します。

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/05/14 08:34

A 回答 (1件)

こんばんは!



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
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!