<やりたいこと>
・"Sheet1"に元データがあります。"Data"シートに抽出シートしたデータがあり、毎回行数が変わります。
・Dataシートの行数分、抽出を繰り返します。今回ですと3回になります。
・抽出結果を"Sheet2"に貼り付けます。
・抽出結果は1行ごとにひとかたまりで、Sheet1でフィルターをかけます。手動でやりますとおよそ10行くらい抽出されます。ですので、Sheet2は30行くらいになります。
<エラー内容>
”Data”シートの2行目のデータしか検索されず、他の3行目、4行目は検索されませんでした。
For Nextの書き方が違っているのか、それとも他も含めて問題があるのかが不明です。よろしくお願いいたします。
Private Sub CommandButton3_Click() ActiveCell.FormulaR1C1 = "みかん" Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=1, Criteria1:="みかん" Sheets("Data").Select Range("B2").Select ActiveCell.FormulaR1C1 = "S" Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=2, Criteria1:="S" Sheets("Data").Select Range("C2").Select ActiveCell.FormulaR1C1 = "A" Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=3, Criteria1:="A" Sheets("Data").Select Range("D2").Select ActiveCell.FormulaR1C1 = "120" Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=4 Sheets("Data").Select Range("E2").Select ActiveCell.FormulaR1C1 = "10" Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=5, Criteria1:="10" Sheets("Data").Select Range("F2").Select ActiveCell.FormulaR1C1 = "1200" Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=6 Range("A2:AB185").Select Selection.Copy Sheets("Sheet2").Select Range("A2").Select ActiveSheet.Paste Sheets("Data").Select Range("A3").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "りんご" Sheets("Sheet1").Select ActiveWindow.ScrollColumn = 11 ActiveWindow.ScrollColumn = 10 ActiveWindow.ScrollColumn = 9 ActiveWindow.ScrollColumn = 8 ActiveWindow.ScrollColumn = 7 ActiveWindow.ScrollColumn = 6 ActiveWindow.ScrollColumn = 5 ActiveWindow.ScrollColumn = 4 ActiveWindow.ScrollColumn = 3 ActiveWindow.ScrollColumn = 2 ActiveWindow.ScrollColumn = 1 Rows("1:1").Select Selection.AutoFilter Selection.AutoFilter ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=1, Criteria1:="りんご" Sheets("Data").Select Range("B3").Select ActiveCell.FormulaR1C1 = "M" Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=2, Criteria1:="M" Sheets("Data").Select Range("C3").Select ActiveCell.FormulaR1C1 = "B" Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=3, Criteria1:="B" Sheets("Data").Select Range("D3").Select ActiveCell.FormulaR1C1 = "130" Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=4, Criteria1:="130" Sheets("Data").Select Range("E3").Select ActiveCell.FormulaR1C1 = "20" Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=5, Criteria1:="20" Sheets("Data").Select Range("F3").Select ActiveCell.FormulaR1C1 = "2600" Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=6 Range("A3:AB6").Select Selection.Copy Sheets("Sheet2").Select Range("A15").Select ActiveSheet.Paste Sheets("Data").Select Range("A4").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "バナナ" Sheets("Sheet1").Select Rows("1:1").Select Range("L1").Activate Selection.AutoFilter Selection.AutoFilter ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=1, Criteria1:="バナナ" Sheets("Data").Select Range("B4").Select Selection.Copy Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=2, Criteria1:="L" Sheets("Data").Select Range("C4").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "C" Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=3, Criteria1:="C" Sheets("Data").Select Range("D4").Select ActiveCell.FormulaR1C1 = "140" Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=4 Sheets("Data").Select Range("E4").Select ActiveCell.FormulaR1C1 = "30" Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=5 Sheets("Data").Select Range("F4").Select ActiveCell.FormulaR1C1 = "4200" Sheets("Sheet1").Select ActiveSheet.Range("$A$1:$AB$195").AutoFilter Field:=6 Range("A4:AB195").Select Selection.Copy Sheets("Sheet2").Select Range("A17").Select ActiveSheet.Paste End Sub
Dim Kw As の行で構文エラーになりコード自体実行できないと思いますが。
実際のコードをコピーして貼り付けください。でないと間違いの指摘はできません。
Dim Kw As の行で構文エラーになり、コード自体実行できないはずです。
実際のコードをコピーして貼り付けてください。
実際のものと違うものを見せられても間違いは指摘できません。
ご連絡ありがとうございます。確かにDim Kw Asのところが記載ミスしていました。ご指摘ありがとうございます。
また、一から作り直してみたのですが、Dataシートに抽出した2行目のデータはフィールターして、Sheet2に貼り付けができたのですが、やはり3行目のデータは何も検索してくれませんでした。
回答3件
あなたの回答
tips
プレビュー