VBAでマクロを組んでいます。
Excelブックが2つあり、一つを仮に「元データブック」もう一つを「参考ブック」と名付けていたとします。
元データブックでVBAを組んでおり、そのVBAで動作をするブックが参考ブックになります。
参考ブックには数千行のデータがあり、そのデータの「リンゴ」と「イチゴ」にフィルターをかけて、必要ない部分を可視セルにし、見出しを除く可視セルを削除後、フィルター解除ということがしたいです。
フィルターはかかりましたし、削除も単品ではできました。
しかし、フィルターをした可視セルを見出し行を除いて削除ができません。
以下2つの方法を試しました。
①フィルターをかけた可視セルを見出し行を除いて選択する
Offsetも使いましたが、A1からI1が見出しで、2行目から6行目がフィルターにより非表示になっているため、動作しませんでした。
②見出し行の次の可視セルのセル番号取得方法
見出し行の次の可視セル番号取得と最終行取得後、SHIFT+CTRL+↓をする方法も考えましたが、上記と同様、2行目から6行目がフィルターにより非表示になっているため見出し行の次の可視セルを選択することができませんでした。
どちらかで対処しようと試みましたが、ネットで検索ではVBAを作成しているブックと動作ブックが同じ時の情報しかなく、困っています。
①フィルターをかけた可視セルを見出し行を除いて選択する
もしくは
②見出し行の次の可視セルのセル番号取得方法
のどちらかをご教示いただきたく思います。
コードの前提は、 sankou =「参考ブックの参考シート」をすでに宣言している状態とお考えいただけると幸いです。
'最終行を取得 gyousu = sankou.Range("A1").End(xlDown).Row 'フィルターをかける sankou.Range("A1:I" & gyousu).AutoFilter Field:=9, Criteria1:=Array("リンゴ","イチゴ"), Operator:=xlFilterValues sankou.Range("A1").Resize(Selection.RowsSize - 1).Offset(1, 0).CurrentRegion.SpecialCells(xlCellTypeVisible).Delete
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/29 00:49
2021/01/29 00:58
2021/01/29 01:21