[[20200415161137]] 『VBA フィルター後の可視セル、タイトル行以外を早x(ピノ) ページの最後に飛ぶ

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

 

『VBA フィルター後の可視セル、タイトル行以外を選択し、行削除』(ピノ)

いつも参考にさせて頂いております。

VBAにて、下記作業を行いたいのですが、構文記載方法がいまいちわかりません。
<やりたいこと>
指定コードにてフィルターがけをし、
フィルター後の可視セル、タイトル行(A行)以外を選択し、
行削除したいです。

本データは可変データです。
必ずしも2行目が可視セルになっているかわからない場合の、
構文記載方法がわかりません。

以下、構文では、 可視セルのみの削除は出来ましたが、
タイトル行も消えてしまいました。

可視セル、タイトル行以外を削除する方法を
ご教授いただけたら幸いです。

<構文>

  With Workbooks("データ.txt").Worksheets(1)	
          .Range("A1:AH1").Select	

    'オートフィルターがけ	
    Selection.AutoFilter	

    'コード:231を選ぶ
    Dim LR As Long	
    LR = Cells(Rows.Count,1).End(xlUp).Row  '最終行取得

    ActiveSheet.Range("$A$1:$AH$" & LR).AutoFilter Field:=32	 Criteria1:= _
        "231"	

    '★フィルター後の可視セルタイトル行以外を選択し、削除	
        .Range("A2:AH" & LR	 .Cells.SpecialCells(xlCellTypeVisible)).Delete

< 使用 Excel:Excel2016、使用 OS:Windows10 >


>必ずしも2行目が可視セルになっているかわからない場合の、
>構文記載方法がわかりません。
2行目が可視セルかどうかは、.SpecialCells(xlCellTypeVisible)で判定されるので、
関係がないと思います。
Range("A2:AH" & LR)は、単にオートフィルタの範囲を指定しているだけなのでしょうから。

1行目が見出し行で、2行目以下が本体部分なら、上記で機能するはずですが、
そこがよくわかりません。まずは、確認されたほうがよいと思います。
(結合セルとかがあって、悪さをしているんでしょうか)

 なお、本体部分だけを取り出すなら、こんな書き方もあります。
   Set rng = ActiveSheet.AutoFilter.Range
   Set myBody = Intersect(rng, rng.Offset(1))
 参考にしてください。
(γ) 2020/04/15(水) 17:13

γ様
ご教授有難うございます。
やはり、私が記載した構文では、何度試しても、1行目のタイトル行まで削除されてしまいました。。。
(なぜでしょうか・・・)

γ様からご教授いただいた構文を基に下記の通り作成したところ、
タイトル行以外を削除することができました。
有難うございます!

   'タイトル行(1行目)以外の可視セルを削除	
   Set Rng = ActiveSheet.AutoFilter.Range	
   Set mybody = Intersect(Rng	 Rng.Offset(1))
   mybody.Cells.SpecialCells(xlCellTypeVisible).Delete	

(ピノ) 2020/04/16(木) 10:40


色々試してみました(結合セルの有無とか、該当なしの場合等)。
再現しませんでした。

ところで投稿にあたって手打ちをされていますよね。
今後は、VBE画面のコードをそのままコピーペイストされたほうがよいですね。
インプットミスで生ずる構文エラーを回答側で修正する必要がありますし、
インプットミスなのか、実際にそうなのかの判定ができないこともあります。

(γ) 2020/04/16(木) 11:03


y様
試していただき、ありがとうございます。
説明不足で申し訳ありません。
結合セルは一切ありません。全てセル単体になっている生データなのですが…
でも頂いたコードで出来たので解決です。
ありがとうございました。

投稿の時は、VBEコードをそのまま貼り付けると
一部が文字化けして、⁇⁇となってしまうので、
一度アクセルに貼り付けてから投稿していました。
でもそうすると、余計な空白が入ってしまったりしますね…
今後はワードに貼り付けるなど検討してみます。
ご指摘ありがとうございます。

(ピノ) 2020/04/16(木) 19:32


コメント返信:

[ 一覧(最新更新順) ]


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