前提・実現したいこと
VBAにてfor~next文とif分にて、1回ずつ表示されたら、その都度そのシートを
コピーして、別のファイルのシートに貼り付けるVBAを作りたいのですが、どのような構文をする必要がありますでしょうか?
該当のソースコード
Sub autofilter()
Dim i, j As Long
Dim ws1, ws2 As Worksheet
Set ws1 = Worksheets("sheet1")
Set ws2 = Worksheets("sheet2")
ws2.Cells.Clear For i = 7 To ws1.Cells(Rows.Count, 1).End(xlUp).Row If WorksheetFunction.CountIf(Range(ws1.Cells(7, 7), ws1.Cells(i, 7)), ws1.Cells(i, 7)) = 1 Then ws2.Cells(Rows.Count, 1).End(xlUp).Offset(1) = ws1.Cells(i, 7) End If Next i j = ws1.Cells(Rows.Count, 1).End(xlUp).Row For i = 7 To ws2.Cells(Rows.Count, 1).End(xlUp).Row Range(ws1.Cells(1, 1), ws1.Cells(j, 7)).autofilter Field:=7,Criteria1:=ws2.Cells(i, 1) Next i
End Sub
試したこと
マクロの記録をしてみたら、下記構文が記録されたので、
そのままfor~next文に入れました。
Range("D60").Select Selection.Copy ActiveWindow.SmallScroll Down:=9 Range("A23").Select ActiveSheet.Paste Windows("xxxxx.xlsx").Activate
補足情報(FW/ツールのバージョンなど)
offic 365のExcelを使用しております。
なかなか、回答がつきませんね。
まず、たった2行の説明を読んだだけでは何をしたいのかサッパリ分かりません。
コードを読んでやりたいことを推測せよ、と言われても、シートにどのようなデータがあるかもわからない状態では難しいです。
シートにどのようなデータがあり、それをどのようにしたいのか、具体的に説明されてはどうですか。
あと、コードはマークダウンのコードタグで囲んで読みやすいようにしてください。
コード部分を選択して、投稿欄上部の <code> ボタンをクリックしてください。
hatena19さん
すいません。一度修正させていただき、再度質問させていただきます。
ご連絡ありがとうございました。
結局記載されたソースの「どの部分が動かないのか」かもわからないですし、何がしたいのかも謎のままですね…。
あなたの回答
tips
プレビュー