EXCELシート上で特定条件に合う行以外を削除する方法

こんにちは。

うまい方法が見つからずに苦戦しています。

EXCELブックに、全情報が入ったシートと、選択肢などのシートが存在し、
このブックを特定の条件に合う情報だけを残して加工し、別のEXCELブックとして保存していくような処理をしたいです。
EXCELブック内には、複数のシートがあり、式や入力規則を組んでいます。

例:全校生徒の名簿をクラスごとに分けて、複数のブックとして保存するようなイメージ

一度テーブルに取り込んでフィルター機能を使えばできるかと思うのですが、
EXCEL上で、レコーディング使って実現したいと思っています。

その際、EXCEL上でフィルターしたときにできる下向き▽が要素として認識できず、
クリックができません。

良い方法があれば、教えてください。

1 Like

@FNao さん

データテーブル系のアクティビティで実現できるロジックは、 レコーディングで実現するのは推奨しないです。基本的なエクセル操作は下記のようです。
1、エクセルを読み込んで、データテーブルを取得する。
2、データテーブルをデータテーブル系のアクティビティで加工する
3、加工の結果を新しいエクセルにアウトプットする。

wusiyangjia さん

ご回答ありがとうございます。

「推奨しない」とのことですが、「実現できないわけではない」のでしょうか?

データテーブルとして認識し処理した場合、シート上で設定している式や、入力規則の引継ぎができないと考えています。
そのため、全データ分のレコードを用意し上記をSetしたうえで、EXCEL上で不要行を削除する形をとりたいです。

ひな形シートを用意して貼り付ける形も考えたのですが、式や入力規則が上書きされ消える可能性や、貼付行以下の式や入力規則を削除する手間が発生してしまうので、EXCEL上で操作したいと思っているのですが・・・。

引き続き、良い方法あれば、教えてください。

@FNao さん

単なるフィルターの▼をクリックすることについて、
下記の方法をお試しください。
1、Selectorはが該当セルのセレクタを指定する。
2、CursorPosition.OffsetXとOffsetYを「-10」にする。
3、CursorPosition.Positionを「BottomRight」にする。
4、SendWindowMessageを「True」にする(推奨)

「ホットキーを押下」アクティビティでもできました!

フィルタが掛かっているセルを選択しておき、その状態で、
シート全体をエレメント選択してある「ホットキーを押下」アクティビティでAlt+Downを押下させます。
次に、フィルタ状況の画面をエレメント選択してある「ホットキーを押下」アクティビティでfとeを押下させます。

あとは、フィルタする値を設定してあげて、OK!

image

やってみてください。

1 Like

wusiyangjia さん
HANACCHI さん

対応策を教えていただきありがとうございます。
返信が遅くなりすみませんでした。

両方の方法を試してみましたが、
HANACCHIさんに教えていただいた方法で実現することが出来ました。

ありがとうございました!!

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.