[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数条件のオートフィルタでエラー』(こぼると)
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 >
1つの列を3つ以上の条件で絞り込むには、上のように、引数Criteria1に、絞り込みたい条件を配列形式で指定し、さらに、引数Operatorに定数xlFilterValuesを指定します。(参考サイトより)
(もこな2) 2018/02/09(金) 15:14
ありがとうございます!教えていただいたサイトに行って記述を変更したらできました!
助かりました!
(こぼると) 2018/02/09(金) 15:44
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.