Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12009 / 13645 ツリー ←次へ | 前へ→

【12864】フィルタ抽出のエラーについて haseyan 04/4/17(土) 14:42 質問
【12868】Re:フィルタ抽出のエラーについて kein 04/4/17(土) 16:39 回答
【12886】Re:フィルタ抽出のエラーについて haseyan 04/4/18(日) 17:00 お礼

【12864】フィルタ抽出のエラーについて
質問  haseyan  - 04/4/17(土) 14:42 -

引用なし
パスワード
   Excel97で、下記コードでエラーになります。

何回か動作(マクロの実行)したのですが、動作しなくなりました。
Excel2002ですと、動作しました。

やりたいことは、
 ・入力シートでフィルタ抽出して
 ・表示されたデータだけを”データ”シートに追加していく
ということです。

何が原因なのでしょうか?
どうすれば、良いのでしょうか?

Sub 入力追加1()

  Dim data_ws As Worksheet
  Dim ws As Worksheet

  Set data_ws = Worksheets("入力")
  Set ws = Worksheets("データ")
  data_ws.Range("B13:N188").AutoFilter Field:=10, Criteria1:="<>"
  data_ws.AutoFilter.Range.Offset(1).Copy _
    ws.Range("B65536").End(xlUp).Offset(1, 0)
   Worksheets("入力").Application.CutCopyMode = False
    
End Sub
----------------------------------------------
data_ws.Range("B13:N188").AutoFilter Field:=10, Criteria1:="<>"
の部分でデバッグとなります。
   実行時エラー 1004
   RangeクラスのAutoFilterメッソドが失敗しました

----------------------------------------------
参考に、自動マクロですと、
 Range("B13:N188").Select
  ActiveWindow.LargeScroll Down:=-6
  Selection.AutoFilter
  Selection.AutoFilter Field:=10, Criteria1:="<>"
  Selection.Copy
  Sheets("データ").Select
  Range("B5").Select
  ActiveSheet.Paste
  ActiveWindow.ScrollRow = 1
  Range("A1").Select
  Application.CutCopyMode = False
  Sheets("入力").Select
  Range("A1").Select
となりますが、これでは随時”データ”シートに追加することができません。

よろしくお願いします。

【12868】Re:フィルタ抽出のエラーについて
回答  kein  - 04/4/17(土) 16:39 -

引用なし
パスワード
   動作することもあるし失敗することもある、というのが一番やっかいですね・・。
うまくいく保証はありませんが、デバックしているコードの直前に

data_ws.AutoFilterMode = False

と入れてみたら、どうでしょーか ?

【12886】Re:フィルタ抽出のエラーについて
お礼  haseyan  - 04/4/18(日) 17:00 -

引用なし
パスワード
   ありがとうございました。

ActiveCell.Activate
data_ws.AutoFilterMode = False

を追記したら、動作可能となりました。
また、よろしくお願いします。

12009 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free