Excelにて重複したセルを削除するマクロ

Excelにて重複したセルを削除するマクロです。

クエリなどで他のデータを読み込んで、ピポットテーブルで内容をみていますが、
メールアドレスなど項目の重複を避けたい時がありました。

クエリやピポットテーブルやには既にフィルタが適用しているし、クエリやピポットの結果による重複を避けて調べたい。ただ、もう一つクエリやピポットを作るほどでもないので、ちょっとマクロにて処理してデータを取り出しています。

マクロの内容

「データ元ファイルパス」のシートのC行をクリア
「ピポット」のシートのG行をコピー
「データ元ファイルパス」のシートにて
C行に値で貼り付け
C行で重複した行を削除(1行だけですが)
処理したセルをコピー(次の操作につなげるため)
C3セルを選択して、上の方を表示(次の操作がしすいため)

以下コード

pythonで強引にWEB入力する方法

WEBの入力フォームの後半が毎回一定の入力であるため、途中から自動操作で入力したい場合があります。


この自動操作をpythonにて実行するにあたり、最初のログイン状態からでは2段認証や条件の分岐が多すぎるため、5秒以内に定位置にマウスをもっていくことで、Webページの途中から強引に入力しています。


Excelにあるセルを読み込むことと、キーボード操作をTABやEnterなどを自動で押し、また、ちょっとした分岐も作成しています。
マウス座標での操作は画面の解像度によって左右されるため、カーソルの移動はTABとShift+TABなどをメインにしています。

以下pythonのコード 

メール本文をExcelで自動化

Outlookの特定のメールフォルダを分析するExcelマクロ



毎日定型文にて定時メールが届き、毎日入力しなければならない場合、マクロボタン1つで入力から分析までできるようにしました。

内容をお見せすることができないのが申し訳ないです。

そのうちに黒塗りしてお見せします。

ーーーーーー

Excelの「開発」「Visual Basic」「ツール」「参照設定」にて

 Microsoft Office ? Object Library をチェック


Excelで今回の記事に関係するシートは3つ【メールデータ】【分析結果】【ピボット】

【メールデータ】のシートはOutlookから「受信日時」「件名」「送信者」「送信元メールアドレス」「本文」を取得しており、「定期メールデータ」というテーブルを設定

【分析結果】のシートは【メールデータ】のシートの「定期メールデータ」というテーブルからパワークエリにて行列の整理

【ピボット】のシートは【分析結果】のシートをピボットテーブルにて「受信日」と「件名」と各値を表示されるように調整


Excelにマクロをボタン登録しておく


Outlookの対象フォルダは「●●●●」に目的のメールを仕分けのルールで振り分けておく

ーーーーー

以下コード

ワンタイムパスワード入力中は一時停止して自動化


 Webブラウザーの入力フォームを何度も行うことがあります。csvなどにてデータの流し込みができないサイトであった場合は、手入力を何度もしなければならず、せっかくの手元にあるデータを生かすことができませんでした。

 Webブラウザーの自動操作のためにseleniumを使ってはいましたが、selenium実行後にはブラウザーが閉じてしまう事と、ワンタイムパスワードや2段認証などセキュリティの高いサイトには対応しにくいのが難点でした。

 ログイン後の操作にも必要性が生じてきたので、いったん処理の途中でメモ帳を開いて一時停止中に入力することで自動化を進める事にしました。



以下Pythonのコード

キーボードで一度に複数のファイルを開く方法

 今回はキーボードで一度に複数のファイルを開き、作業環境を整える方法についての記事です。



 作業環境を整える際に複数のフォルダやファイルを開いく必要があると思いますが、以前の記事で紹介したマウスのカーソルを動かすより、キーボードをつかって実行すると素早くできます。

 過去の記事は、「ワンクリックで複数のフォルダやファイルを開く方法」をクリック


 また、コルタナも使って行えないかやってみましたが、失敗することや、話せない環境であったり、時間がかかることから、まったく使わなくなりました。コルタナについては、他の作業においても音声入力の割合が増えてくるなら、状況は変わってくると思います。

 過去の記事は、「コルタナを使って複数のフォルダやファイルを開く方法」をクリック


実際の手順

「複数のフォルダやファイルを開くショートカット」を作成する

 作り方は過去の記事を参照願います。「ワンクリックで複数のフォルダやファイルを開く方法」をクリック

先ほどのショートカットをWindowsのスタートメニューに登録する

 場所は環境によって若干変わるかもしれませんが、「C:\ProgramData\Microsoft\Windows\Start Menu\Programs」と思います。

このフォルダの中に先ほどのショートカットを置いてください。

 ショートカットキーを設定する

 ショートカットを右クリックしてプロパティの画面から、ショートカットキーを設定してください。今回作るショートカットが「初期設定」という名前なので、、ここでは「s」にしています。「s」とキーボードを入力すると、「Ctrl+Alt+s」の3つキーを同時に押すことで動くようになります。


順番にキーを押して操作できるようにショートカット名を変更しておく

3つボタンを押す以外に、ショートカットの名前の頭に「sss」のような半角英字を入れておくと便利です。キーボードを「Windowボタン」「s」を3回順番におすと、最も一致する検索結果に出てくるはずなので、「Enter」に押すことで動くようにもできます。


最後に

いかがでしたでしょうか?まだ、だいぶ省略していますので、ちょこちょこと詳しくして更新していきます。過去の記事もちょっとずつ、こちらに引っ越ししてきます。

Excelでファイルをコピーし、名前を付けて保存してからマクロ実行をワンクリックで実行

 他の人とファイルを共有していると、元のファイルに手を加えることができないことがあると思います。 しかし、いつも決まりきったデータを編集しなければならないことがあると思います。



そんな時は、みなさんどうしていますか?

元のファイルのフォルダを開いて、元のデータファイルを選んで、ファイルをコピーして、別の場所を選んで、貼り付けて、ファイルの名前を変えてから編集していますか?

 もしくは、

元のフォルダを開いて、元のデータファイルを選んで、開いて、別の名前で保存して、編集していますか?


普通にすると何手順も必要でしたが、「ファイルを開くところから、編集する」ところまでを、下記のコードのようにして、自動化しています。


Excelには、「マクロ用」というシートと、

A1のセルにはデータ元のファイルのファイルパス

例 C:\Users\●●●●\OneDrive\●●●●\●●●●.xlsx

A2のセルにはコピー先のファイルのファイルパス

例 C:\Users\●●●●\OneDrive\Desktop\□□□□.xlsx

「色付け」というマクロ

を設定しています。


 月初に1回だとしても年12回だけですが、決まりきったルーティンワークはできるだけ自動化していってます。一つ一つのコードで短縮できる時間はわずかではありますが、ちょっとずつ重ねると本当に楽になります。

 できればマクロ実行自体を自動化したい、そもそもマクロなどを実行しなくていい環境にしたいところではありますが・・・

 マクロをボタンに登録してワンクリックにて実行し、その間にトイレに行ったり、お茶したりして、次の構想を練っています。

以下コード

複数のフォルダをワンクリックで開くpythonをexe化してみました。

複数のフォルダやファイルをワンクリックで同時に起動してその際に右や左の画面に移動したりしていましたが、それすらも省略したいなーと思い、ちょっと調査。 bat、ps1、vbsでは挫折したので、pythonでコードを組んで、exe化しました。 だいぶ強引ですけどね。 pythonの...