[[20180209143106]] 『複数条件のオートフィルタでエラー』(こぼると) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『複数条件のオートフィルタでエラー』(こぼると)

A列に入っているデータをオートフィルタでまとめて抽出しようとすると、該当データが存在しない場合にエラーが発生してしまいます。

Sub CSV入力()

    Dim varFileName As Variant
    Dim NewWorkSheet As Worksheet
    Set NewWorkSheet = Worksheets.Add()
    NewWorkSheet.Name = "作業"

    varFileName = Application.GetOpenFilename(FileFilter:="CSVファイル(*.csv),*.csv", _
                                        Title:="CSVファイルの選択")
    If varFileName = False Then
        Exit Sub
    End If

    Workbooks.Open Filename:=varFileName

    ActiveSheet.Cells.Copy ThisWorkbook.ActiveSheet.Cells
    ActiveWorkbook.Close SaveChanges:=False

     With Worksheets("作業")
     On Error Resume Next
        .Range("A1").AutoFilter _
            Field:=1, Criteria1:="北海道", Operator:=xlOr, _
            Criteria2:="秋田", Operator:=xlOr, _
            Criteria3:="仙台", Operator:=xlOr, _
            Criteria4:="宮城", Operator:=xlOr, _
            Criteria5:="新潟", Operator:=xlOr, _
            Criteria6:="山形", Operator:=xlOr, _
            Criteria7:="山梨", Operator:=xlOr, _
            Criteria8:="福井", Operator:=xlOr, _
            Criteria9:="茨城"

        .Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _
            Worksheets("日本").Range("A1")

           .AutoFilterMode = False

    End With
  Application.ScreenUpdating = True

End Sub

上のような記述でたとえば福井・仙台だけがないとき、他のあるデータだけを抽出してコピーをするような方法はないでしょうか?

< 使用 Excel:Excel2010、使用 OS:Windows8 >


考え方を変えて、そもそも複数条件の与え方ってその記述でよいのか、再度確認してみてはいかがでしょうか。
<参考サイト>
http://officetanaka.net/excel/vba/tips/tips155.htm

1つの列を3つ以上の条件で絞り込むには、上のように、引数Criteria1に、絞り込みたい条件を配列形式で指定し、さらに、引数Operatorに定数xlFilterValuesを指定します。(参考サイトより)
(もこな2) 2018/02/09(金) 15:14


もこな2様

ありがとうございます!教えていただいたサイトに行って記述を変更したらできました!
助かりました!
(こぼると) 2018/02/09(金) 15:44


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.