回答編集履歴
2
コード追記
    
        answer	
    CHANGED
    
    | @@ -44,4 +44,44 @@ | |
| 44 44 | 
             
            ```
         | 
| 45 45 |  | 
| 46 46 | 
             
            結局、無意味な部分が多すぎてコードを見ただけでは何をしたいのか把握できません。
         | 
| 47 | 
            -
            言葉で、何をしたいのかを詳細に説明してもらえますか。
         | 
| 47 | 
            +
            言葉で、何をしたいのかを詳細に説明してもらえますか。
         | 
| 48 | 
            +
             | 
| 49 | 
            +
             | 
| 50 | 
            +
            ---
         | 
| 51 | 
            +
            提示された情報から最大限推測して、下記のような仕様だと仮定したコード例を提示しておきます。
         | 
| 52 | 
            +
             | 
| 53 | 
            +
            仕様
         | 
| 54 | 
            +
            "Data”シートに1行毎にフィルタ条件が記述してある
         | 
| 55 | 
            +
            このフィルタ条件で"Sheet1"シートのデータにフィルターをかけて、それを"Sheet2"に順次追加コピーしていく。
         | 
| 56 | 
            +
             | 
| 57 | 
            +
            コード例
         | 
| 58 | 
            +
            ```vba
         | 
| 59 | 
            +
            Private Sub CommandButton3_Click()
         | 
| 60 | 
            +
                Dim MotoRng As Range
         | 
| 61 | 
            +
                Set MotoRng = Worksheets("Sheet1").Range("A1")
         | 
| 62 | 
            +
             | 
| 63 | 
            +
                With Worksheets("Data")
         | 
| 64 | 
            +
                    Dim maxRow As Long
         | 
| 65 | 
            +
                    maxRow = .Range("A" & Rows.Count).End(xlUp).Row
         | 
| 66 | 
            +
                    '"Data"の2行目から順にループ処理
         | 
| 67 | 
            +
                    Dim rw As Long, cl As long
         | 
| 68 | 
            +
                    For rw = 2 To MaxRow
         | 
| 69 | 
            +
                        MotoRng.AutoFilter             'AutoFilter解除
         | 
| 70 | 
            +
                        '1列目から6列目までを条件にフィルターをかける
         | 
| 71 | 
            +
                        For cl = 1 To 6
         | 
| 72 | 
            +
                            MotoRng.AutoFilter cl, .Cells(rw, cl).Value
         | 
| 73 | 
            +
                        Next
         | 
| 74 | 
            +
                        'フィルターをかけた"Sheet1"のデータを"Sheet2"に追加コピーする
         | 
| 75 | 
            +
                        With Worksheets("Sheet2")
         | 
| 76 | 
            +
                            Dim Sheet2MaxRow As Long
         | 
| 77 | 
            +
                            Sheet2MaxRow = .Range("A" & Rows.Count).End(xlUp).Row + 1
         | 
| 78 | 
            +
                            MotoRng.CurrentRegion.Copy .Range("A" & Sheet2MaxRow)
         | 
| 79 | 
            +
                        End With
         | 
| 80 | 
            +
                    Next
         | 
| 81 | 
            +
                End With
         | 
| 82 | 
            +
             | 
| 83 | 
            +
                MotoRng.AutoFilter             'AutoFilter解除
         | 
| 84 | 
            +
             | 
| 85 | 
            +
            End Sub
         | 
| 86 | 
            +
            ```
         | 
| 87 | 
            +
            テキストエディタ直書きなので動作確認してませんので、おかしなところがあるかも知れません。ロジックを参考にしてください。
         | 
1
コード修正
    
        answer	
    CHANGED
    
    | @@ -23,7 +23,7 @@ | |
| 23 23 |  | 
| 24 24 | 
             
                With Worksheets("Sheet1").Range("A1")
         | 
| 25 25 | 
             
                    .AutoFilter             'AutoFilter解除
         | 
| 26 | 
            -
                    .AutoFilter 1, Kw(1) | 
| 26 | 
            +
                    .AutoFilter 1, Kw(1)
         | 
| 27 27 | 
             
                    .AutoFilter 2, Kw(2)
         | 
| 28 28 | 
             
                    .AutoFilter 3, Kw(3)
         | 
| 29 29 |  | 
