- 締切済み
マクロで”1004”エラー
初めまして、現在エクセルでマクロを使用している初心者です。本を見ながら自己流でやっているのですが、どうしても問題が解決しないものがありまして質問させていただきました。シート1を”データベース”、シート2を”検索結果”としています。 Sub OutputData() Dim strDate1 As String Dim strDate2 As String Dim StrJouken1 As String Dim StrJouken2 As String strDate1 = Range("AU2").Value strDate2 = Range("AU3").Value StrJouken1 = ">=" & strDate1 StrJouken2 = "<=" & strDate2 Application.ScreenUpdating = False Sheets("検索結果").Activate Cells.Clear With Sheets("データベース") .Range("A2").AutoFilter Field:=3, _ Criteria1:=StrJouken1, Operator:=xlAnd, Criteria2:=StrJouken2 .Range("A2").CurrentRegion.Copy _ Destination:=Sheets("検索結果").Range("A1") .Range("A2").AutoFilter End With Sheets("検索結果").Columns("A:AF").AutoFit Application.ScreenUpdating = True End Sub というコードで最初は問題なかったのですが、急に”実行時エラー1004 RangeクラスのAutofiterメソッドが失敗しました”という表示が出るようになりました。何を直せばよいのか教えを乞いたいのですが・・・
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Ce_faci
- ベストアンサー率36% (46/127)
こんばんわ 何でしょうね。セルA1~B3の中でA2以外にも何かしらの値がないと同じエラーになりますが。 あとは時たま訳の分からないエラーなんですが、コードを細分化してみてください。 たとえば >Cells.Clear >With Sheets("データベース") の間にSheets("データベース").Activate を入れるとか また考えます
- Ce_faci
- ベストアンサー率36% (46/127)
こんばんわ エラー発生時にどのコードが黄色く帯されるかはわかりますよね。 どこの部分でエラーになるのでしょうか。エラーメッセージのダイアログでデバックボタンをクリックしてください。更に、ヘルプも活用できます。たらたらと長い説明が出て眩暈がすかもですが。 >.Range("A2").AutoFilter Field:=3, _ >Criteria1:=StrJouken1, Operator:=xlAnd, Criteria2:=StrJouken2 の部分でエラーするのでしたら、フィルターする値がない(C列に値がない)、シート上のセルが空とかが考えられます。 他のコードでしょうか?
お礼
Ce_faciさん、回答ありがとうございます。おっしゃる通り、 >.Range("A2").AutoFilter Field:=3, _ >Criteria1:=StrJouken1, Operator:=xlAnd, Criteria2:=StrJouken2 の部分が黄色くなります。シート上のセルが空ということでしたが、C列には日付を入れています。もちろん空の部分もありますが、ほとんどが日付で埋まっていますし、昨日の途中までは正常に機能していたのですが・・・ どのようにすれば正常に機能するのか教えていただけるとありがたいです。