VBAを始めたばかりなのであれば、マクロの記録を使って手順を記録し、それを直すことから始めるのがオススメです。
もし今回の内容を手作業でやる場合、おそらくフィルターを使われるのではないかと思います。そこで、試しにその手順を記録させてみました。
記録させた手順
- BOOK1で表全体を選択します。
- 「データ」タブの「フィルター」でフィルターを適用します。
- 検索したい列の「▼」を選んで、「テキスト フィルター」の「指定の値を含む...」などを選んで、条件を入力します。
- 条件に該当したものだけが選ばれた状態になるのでコピーします。
- BOOK2のコピー先を選んで貼り付けます。
- BOOK1に戻ってフィルターを解除します。
出来上がったVBAのコードの例
※わかりやすいように、出来上がったコードにコメントと空行を加えています。
VBA
1Sub Macro1()
2'
3' Macro1 Macro
4'
5 ' 1.表の選択
6 Range("A1:C4").Select
7
8 ' 2.フィルタ―の設定
9 Selection.AutoFilter
10
11 ' 3.検索条件を指定
12 ActiveSheet.Range("$A$1:$C$4").AutoFilter Field:=3, Criteria1:="=ほげほげ", _
13 Operator:=xlAnd
14
15 ' 4.コピー
16 Selection.Copy
17
18 ' 5.Book2のセルA1を選択して貼り付け
19 Windows("Book2").Activate
20 Range("A1").Select
21 ActiveSheet.Paste
22
23 ' 6.Book1のフィルターを解除
24 Windows("Book1").Activate
25 Application.CutCopyMode = False
26 Selection.AutoFilter
27
28End Sub
このコードをベースにして、合わないところを直していけば良いかと思います。
例えば、条件としてセルE1の内容を使いたいのであれば、
「Criteria1:="=ほげほげ"」
の部分を
「Criteria1:="=" & Range("E1").Value」
に変えればOKです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/08 03:00
2018/04/08 03:16
2018/04/08 06:35