前提・実現したいこと
VBA初心者です。
複数のシートをループして指定の日付を2種類指定するVBAを作りたいです。
調べて色々組み合わせて作ってみましたが、うまく動きません。
本来であれば、データ抽出後、別シートに転記する予定ですが、
抽出する所で躓いてしまったため、お力お貸し頂ければ幸いです。
発生している問題・エラーメッセージ
「オブジェクト変数またはwithブロック変数が設定されていません」と出てしまいます。
該当のソースコード
Sub
1 2 Dim i As Integer 3 Dim ws As Worksheet 4 Dim filterArray() 5 6 Dim 期間1 As String 7 Dim 期間2 As String 8 9 期間1 = Worksheets("シート名").Range("指定の日付が出てくるセル").value 10 期間2 = Worksheets("シート名").Range("指定の日付が出てくるセル").value 11 12' シートの指定 13 With AutoFilter 14 15 For i = 4 To Sheets.count 16 Worksheets(i).Activate 17 Debug.Print i & "枚目のシートの処理を開始" 18 19 20' フィルタを設定 21 Worksheets(i).Range("A5:AJ5").Select 22 Selection.AutoFilter 23 24' データの抽出’ 25 ws(i).Range("$A$5:$AJ$237").AutoFilter Field:=2, _ 26 Criteria1:=">=" & 期間1, _ 27 Operator:=xlOr, _ 28 Criteria2:="<=" & 期間2 29 30 Next i '次のシートに移る 31 32' フィルターの解除’ 33 Worksheets(i).ActiveSheet.ShowAllData 34 35 End With 36 37End Sub 38 39
試したこと
Setなどを付けてみましたが、コンパイルエラーがでてしまいました。
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/09 09:40