質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

0回答

758閲覧

【VBA】フィルタ―抽出について(上手く抽出されない条件について)

mizomi

総合スコア0

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/12/13 04:10

前提・実現したいこと

VBA初心者です。
オートフィルタ―抽出の際に毎回抽出されない抽出条件があり、原因をご教示いただけますでしょうか。

■実行手順の概要
①マクロExcelを起点として、抽出したいExcelファイルを取り込む。
②セルに記載された抽出条件でフィルタ―抽出
③抽出したデータを新規ブックにコピーしてPDF保存
④上記②~③をループ処理

発生している問題・エラーメッセージ

マクロ実行は問題なく作動するのですが、毎回フィルタ―で抽出されない抽出条件があります。

■抽出されない条件
整数6桁

その他の抽出条件としては、アルファベット&数字を含む6桁もあります。
ただ全ての整数6桁が抽出されない訳ではなく、問題なくフィルタ―抽出される整数6桁もあります。
全部で37回ループ処理を行うのですが、特定の整数6桁(4つ)のみ抽出されません。

※抽出されない特定整数6桁を手動でフィルタ―に入力すると問題なく結果反映されます。

該当のソースコード

Sub Test

Dim OpenFileName As String, FileName As String Dim InpSh As Worksheet, ExtSh As Worksheet Dim i As Long, r As Long 'ファイルを選択&開く OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls?") If OpenFileName <> "False" Then MsgBox "ファイルを開きます" Workbooks.Open OpenFileName Else MsgBox "キャンセルしました" Exit Sub End If '変数代入 FileName = Dir(OpenFileName) Set InpSh = Workbooks(FileName).Sheets(1) Set ExtSh = ThisWorkbook.Sheets(2) r = ExtSh.Cells(Rows.Count, 2).End(xlUp).Row

'ループ処理
For i = 3 To r

InpSh.Copy With Sheets(1) **'対象店コードでフィルタ―抽出** **.Range("A13").AutoFilter 15, Array(ExtSh.Range("F" & i, "XFD" & i)), xlFilterValues** -省略-

End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問