前提
2つの表がありまして、日付と時間が一致する行のデータをもう一つの表にコピーして、また別の日付時間のデータをコピーしたいです。AutoFilterを使い複数条件の抽出まではできたのですが、繰り返し作業させるところで躓いています。VBAを学び始めて2週間ほどで見当はずれなことかもしれませんがご教授をお願いいたします。
実現したいこと
AutoFilterの抽出条件を変数を使って動的にして
抽出先のシート全部にデータコピーさせたいです。
発生している問題・エラーメッセージ
抽出先のデータ全部がコピーされてしまいます。
該当のソースコード
VBA
1Sub 改めて日付時間を表示形式にする繰り返し() 2 Dim ws As Worksheet 3 Set ws = Sheets("抽出先") 4 With ws.UsedRange 5 Dim i 6 For i = 2 To .Rows.Count 7 8 Worksheets("抽出元").Range("A1").AutoFilter 1, Format(Worksheets("抽出先").Cells(i, 1), "yyyy/m/d") 9 Worksheets("抽出元").Range("A1").AutoFilter 2, Format(Worksheets("抽出先").Cells(i, 2), "hh:mm:ss") 10 11 12 13 14 With Worksheets("抽出元 15").Range("A1").CurrentRegion 16 .Resize(.Rows.Count - 1).Offset(1, 0).Copy Worksheets("抽出先").Cells(i, 7) 17 End With 18 19 20 Worksheets("抽出元").Range("A1").AutoFilter 21 Next 22 End With 23 ws.AutoFilterMode = False 24 25 End Sub
試したこと
オートフィルターの検索条件をセルの値で検索するようにして
セルを変数で2行目から最終行まで変動するように試してみましたが
でたらめにコピーされてしまいます。
補足情報(FW/ツールのバージョンなど)
日付時間に合うデータを抽出したいです。
抽出先のシート(この表にコピーしたい)
|日付|時間|抽出先シートの項目がF列まで|G列辺りにコピー
|2015.1.5|22:55:00|・・・| 抽出元の行をコピー
|2015.2.5|21:30:00|・・・| 以下繰り返し
抽出元のシート
|日付|時間|抽出元のシート内容G列まで|
|2015.1.5|22:55:00|・・・|
|2015.1.20|15:30:00|・・・|
|2015.1.29|16:00:00|・・・|
|2015.2.5|21:30:00|・・・|
|2018.3.5|14:25:00|・・・|
回答3件
あなたの回答
tips
プレビュー